mirror of
https://github.com/Sonarr/Sonarr.git
synced 2025-04-23 13:57:06 -04:00
Oh Hai IIS
This commit is contained in:
parent
edf289ec51
commit
b59d9f13b1
193 changed files with 11339 additions and 13619 deletions
4
.gitignore
vendored
4
.gitignore
vendored
|
@ -3,8 +3,6 @@
|
|||
Thumbs.db
|
||||
#Ignore files build by Visual Studio
|
||||
*.obj
|
||||
*.exe
|
||||
*.pdb
|
||||
*.user
|
||||
*.aps
|
||||
*.pch
|
||||
|
@ -28,5 +26,7 @@ obj/
|
|||
_ReSharper*/
|
||||
[Tt]est[Rr]esult[s]
|
||||
|
||||
/[Bb]uild/
|
||||
|
||||
#NZBDrone specific
|
||||
nzbdrone.db
|
|
@ -1,7 +0,0 @@
|
|||
del ..\deploy\*.* /s/q
|
||||
xcopy bin\x86 ..\deploy /S /I /F /Y <nul:
|
||||
del ..\deploy\*vshost* /s
|
||||
del ..\deploy\release\*.pdb /s
|
||||
del ..\deploy\*.db3 /s
|
||||
rem tree ..\deploy /f>..\deploy.txt
|
||||
copy ..\*.txt ..\deploy\ /Y
|
|
@ -1,180 +0,0 @@
|
|||
<?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)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>9.0.30729</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{9AAD02EE-FE79-46BE-87EB-E3D2A376A043}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>CassiniDev</RootNamespace>
|
||||
<AssemblyName>CassiniDev4</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<SignAssembly>true</SignAssembly>
|
||||
<AssemblyOriginatorKeyFile>..\CasssiniDev-DevKey.snk</AssemblyOriginatorKeyFile>
|
||||
<ApplicationIcon>Resources\preferences-web-browser-shortcuts.ico</ApplicationIcon>
|
||||
<FileUpgradeFlags>
|
||||
</FileUpgradeFlags>
|
||||
<OldToolsVersion>3.5</OldToolsVersion>
|
||||
<UpgradeBackupLocation />
|
||||
<TargetFrameworkProfile />
|
||||
<PublishUrl>publish\</PublishUrl>
|
||||
<Install>true</Install>
|
||||
<InstallFrom>Disk</InstallFrom>
|
||||
<UpdateEnabled>false</UpdateEnabled>
|
||||
<UpdateMode>Foreground</UpdateMode>
|
||||
<UpdateInterval>7</UpdateInterval>
|
||||
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
||||
<UpdatePeriodically>false</UpdatePeriodically>
|
||||
<UpdateRequired>false</UpdateRequired>
|
||||
<MapFileExtensions>true</MapFileExtensions>
|
||||
<ApplicationRevision>0</ApplicationRevision>
|
||||
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||
<IsWebBootstrapper>false</IsWebBootstrapper>
|
||||
<UseApplicationTrust>false</UseApplicationTrust>
|
||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<StartupObject />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\x86\Debug\</OutputPath>
|
||||
<DefineConstants>TRACE;DEBUG;NET40</DefineConstants>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<CodeAnalysisLogFile>bin\Debug\CassiniDev4\CassiniDev4.exe.CodeAnalysisLog.xml</CodeAnalysisLogFile>
|
||||
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
|
||||
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRuleSetDirectories>;C:\Program Files\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
|
||||
<CodeAnalysisIgnoreBuiltInRuleSets>false</CodeAnalysisIgnoreBuiltInRuleSets>
|
||||
<CodeAnalysisRuleDirectories>;C:\Program Files\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
|
||||
<CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
|
||||
<OutputPath>bin\x86\Release\</OutputPath>
|
||||
<DefineConstants>TRACE;NET40</DefineConstants>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<CodeAnalysisLogFile>bin\Release\CassiniDev4\CassiniDev4.exe.CodeAnalysisLog.xml</CodeAnalysisLogFile>
|
||||
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
|
||||
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRuleSetDirectories>;C:\Program Files\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
|
||||
<CodeAnalysisIgnoreBuiltInRuleSets>false</CodeAnalysisIgnoreBuiltInRuleSets>
|
||||
<CodeAnalysisRuleDirectories>;C:\Program Files\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
|
||||
<CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.configuration" />
|
||||
<Reference Include="System.Configuration.Install" />
|
||||
<Reference Include="System.Core">
|
||||
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
||||
</Reference>
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.ServiceProcess" />
|
||||
<Reference Include="System.Web" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="CassiniServer.cs" />
|
||||
<Compile Include="Core\Connection.cs" />
|
||||
<Compile Include="Core\Host.cs" />
|
||||
<Compile Include="Core\Messages.cs" />
|
||||
<Compile Include="Core\NtlmAuth.cs" />
|
||||
<Compile Include="Core\Request.cs" />
|
||||
<Compile Include="Core\RequestEventArgs.cs" />
|
||||
<Compile Include="Core\Server.cs" />
|
||||
<Compile Include="Logging\LogInfo.cs" />
|
||||
<Compile Include="Misc\CommandLine.cs" />
|
||||
<Compile Include="Misc\CommandLineArguments.cs" />
|
||||
<Compile Include="Misc\CommandLineParser.cs" />
|
||||
<Compile Include="Misc\Common.cs" />
|
||||
<Compile Include="Misc\HostsFile.cs" />
|
||||
<Compile Include="Misc\Interop.cs" />
|
||||
<Compile Include="Misc\NetworkUtils.cs" />
|
||||
<Compile Include="Misc\ServiceInstaller.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Program.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo4.cs" />
|
||||
<Compile Include="Resources\SR.cs" />
|
||||
<Compile Include="Views\BodyView.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Views\BodyView.Designer.cs">
|
||||
<DependentUpon>BodyView.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Views\FormView.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Views\FormView.Designer.cs">
|
||||
<DependentUpon>FormView.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Views\LogView.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Views\LogView.Designer.cs">
|
||||
<DependentUpon>LogView.cs</DependentUpon>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Resources\CassiniDev.resx" />
|
||||
<EmbeddedResource Include="Views\BodyView.resx">
|
||||
<DependentUpon>BodyView.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Views\FormView.resx">
|
||||
<DependentUpon>FormView.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Views\LogView.resx">
|
||||
<DependentUpon>LogView.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Resources\preferences-web-browser-shortcuts.ico" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>Windows Installer 3.1</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="CassiniDev4.exe.config">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
</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>
|
||||
-->
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>
|
||||
</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
|
@ -1,105 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>9.0.30729</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{539F0304-F14A-413F-A56A-AFB7724EA1A7}</ProjectGuid>
|
||||
<OutputType>Exe</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>CassiniDev</RootNamespace>
|
||||
<AssemblyName>CassiniDev-console</AssemblyName>
|
||||
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<SccProjectName>
|
||||
</SccProjectName>
|
||||
<SccLocalPath>
|
||||
</SccLocalPath>
|
||||
<SccAuxPath>
|
||||
</SccAuxPath>
|
||||
<SccProvider>
|
||||
</SccProvider>
|
||||
<SignAssembly>true</SignAssembly>
|
||||
<AssemblyOriginatorKeyFile>..\CasssiniDev-DevKey.snk</AssemblyOriginatorKeyFile>
|
||||
<ApplicationIcon>Resources\preferences-web-browser-shortcuts.ico</ApplicationIcon>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\x86\Debug\</OutputPath>
|
||||
<DefineConstants>TRACE;DEBUG</DefineConstants>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
|
||||
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
|
||||
<OutputPath>bin\x86\Release\</OutputPath>
|
||||
<DefineConstants>TRACE;CONSOLE</DefineConstants>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
|
||||
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.configuration" />
|
||||
<Reference Include="System.Configuration.Install" />
|
||||
<Reference Include="System.Core">
|
||||
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
||||
</Reference>
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.ServiceProcess" />
|
||||
<Reference Include="System.Web" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="CassiniDevServerOP.cs" />
|
||||
<Compile Include="ConsoleProgram.cs" />
|
||||
<Compile Include="Core\Connection.cs" />
|
||||
<Compile Include="Core\Host.cs" />
|
||||
<Compile Include="Core\Messages.cs" />
|
||||
<Compile Include="Core\NtlmAuth.cs" />
|
||||
<Compile Include="Core\Request.cs" />
|
||||
<Compile Include="Core\RequestEventArgs.cs" />
|
||||
<Compile Include="Core\Server.cs" />
|
||||
<Compile Include="Logging\LogInfo.cs" />
|
||||
<Compile Include="Misc\CommandLine.cs" />
|
||||
<Compile Include="Misc\CommandLineArguments.cs" />
|
||||
<Compile Include="Misc\CommandLineParser.cs" />
|
||||
<Compile Include="Misc\Common.cs" />
|
||||
<Compile Include="Misc\HostsFile.cs" />
|
||||
<Compile Include="Misc\Interop.cs" />
|
||||
<Compile Include="Misc\NetworkUtils.cs" />
|
||||
<Compile Include="Misc\ServiceInstaller.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Resources\SR.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Resources\CassiniDev.resx" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Resources\preferences-web-browser-shortcuts.ico" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="app.config" />
|
||||
</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>
|
||||
-->
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>
|
||||
</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
|
@ -1,156 +0,0 @@
|
|||
<?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)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>9.0.30729</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{539F0304-F14A-413F-A56A-AFB7724EA1A7}</ProjectGuid>
|
||||
<OutputType>Exe</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>CassiniDev</RootNamespace>
|
||||
<AssemblyName>CassiniDev4-console</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<SccProjectName>
|
||||
</SccProjectName>
|
||||
<SccLocalPath>
|
||||
</SccLocalPath>
|
||||
<SccAuxPath>
|
||||
</SccAuxPath>
|
||||
<SccProvider>
|
||||
</SccProvider>
|
||||
<SignAssembly>true</SignAssembly>
|
||||
<AssemblyOriginatorKeyFile>..\CasssiniDev-DevKey.snk</AssemblyOriginatorKeyFile>
|
||||
<ApplicationIcon>Resources\preferences-web-browser-shortcuts.ico</ApplicationIcon>
|
||||
<FileUpgradeFlags>
|
||||
</FileUpgradeFlags>
|
||||
<OldToolsVersion>3.5</OldToolsVersion>
|
||||
<UpgradeBackupLocation />
|
||||
<TargetFrameworkProfile />
|
||||
<PublishUrl>publish\</PublishUrl>
|
||||
<Install>true</Install>
|
||||
<InstallFrom>Disk</InstallFrom>
|
||||
<UpdateEnabled>false</UpdateEnabled>
|
||||
<UpdateMode>Foreground</UpdateMode>
|
||||
<UpdateInterval>7</UpdateInterval>
|
||||
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
||||
<UpdatePeriodically>false</UpdatePeriodically>
|
||||
<UpdateRequired>false</UpdateRequired>
|
||||
<MapFileExtensions>true</MapFileExtensions>
|
||||
<ApplicationRevision>0</ApplicationRevision>
|
||||
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||
<IsWebBootstrapper>false</IsWebBootstrapper>
|
||||
<UseApplicationTrust>false</UseApplicationTrust>
|
||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\x86\Debug\</OutputPath>
|
||||
<DefineConstants>TRACE;DEBUG;NET40</DefineConstants>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<CodeAnalysisLogFile>bin\Debug\CassiniDev4.Console\CassiniDev4-console.exe.CodeAnalysisLog.xml</CodeAnalysisLogFile>
|
||||
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
|
||||
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRuleSetDirectories>;C:\Program Files\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
|
||||
<CodeAnalysisIgnoreBuiltInRuleSets>true</CodeAnalysisIgnoreBuiltInRuleSets>
|
||||
<CodeAnalysisRuleDirectories>;C:\Program Files\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
|
||||
<CodeAnalysisIgnoreBuiltInRules>true</CodeAnalysisIgnoreBuiltInRules>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
|
||||
<OutputPath>bin\x86\Release\</OutputPath>
|
||||
<DefineConstants>TRACE;NET40</DefineConstants>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<CodeAnalysisLogFile>bin\Release\CassiniDev4.Console\CassiniDev4-console.exe.CodeAnalysisLog.xml</CodeAnalysisLogFile>
|
||||
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
|
||||
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRuleSetDirectories>;C:\Program Files\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
|
||||
<CodeAnalysisIgnoreBuiltInRuleSets>true</CodeAnalysisIgnoreBuiltInRuleSets>
|
||||
<CodeAnalysisRuleDirectories>;C:\Program Files\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
|
||||
<CodeAnalysisIgnoreBuiltInRules>true</CodeAnalysisIgnoreBuiltInRules>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.configuration" />
|
||||
<Reference Include="System.Configuration.Install" />
|
||||
<Reference Include="System.Core">
|
||||
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
||||
</Reference>
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.ServiceProcess" />
|
||||
<Reference Include="System.Web" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="CassiniDevServerOP.cs" />
|
||||
<Compile Include="ConsoleProgram.cs" />
|
||||
<Compile Include="Core\Connection.cs" />
|
||||
<Compile Include="Core\Host.cs" />
|
||||
<Compile Include="Core\Messages.cs" />
|
||||
<Compile Include="Core\NtlmAuth.cs" />
|
||||
<Compile Include="Core\Request.cs" />
|
||||
<Compile Include="Core\RequestEventArgs.cs" />
|
||||
<Compile Include="Core\Server.cs" />
|
||||
<Compile Include="Logging\LogInfo.cs" />
|
||||
<Compile Include="Misc\CommandLine.cs" />
|
||||
<Compile Include="Misc\CommandLineArguments.cs" />
|
||||
<Compile Include="Misc\CommandLineParser.cs" />
|
||||
<Compile Include="Misc\Common.cs" />
|
||||
<Compile Include="Misc\HostsFile.cs" />
|
||||
<Compile Include="Misc\Interop.cs" />
|
||||
<Compile Include="Misc\NetworkUtils.cs" />
|
||||
<Compile Include="Misc\ServiceInstaller.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Properties\AssemblyInfo4.cs" />
|
||||
<Compile Include="Resources\SR.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Resources\CassiniDev.resx" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Resources\preferences-web-browser-shortcuts.ico" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="CassiniDev4-console.exe.config">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>Windows Installer 3.1</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
</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>
|
||||
-->
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>
|
||||
</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
|
@ -1,96 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>9.0.30729</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{9AAD02EE-FE79-46BE-87EB-E3D2A376A043}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>CassiniDev</RootNamespace>
|
||||
<AssemblyName>CassiniDev-lib</AssemblyName>
|
||||
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<SignAssembly>true</SignAssembly>
|
||||
<AssemblyOriginatorKeyFile>..\CasssiniDev-DevKey.snk</AssemblyOriginatorKeyFile>
|
||||
<ApplicationIcon>Resources\preferences-web-browser-shortcuts.ico</ApplicationIcon>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\x86\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
|
||||
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
|
||||
<OutputPath>bin\x86\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
|
||||
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.configuration" />
|
||||
<Reference Include="System.Configuration.Install" />
|
||||
<Reference Include="System.Core">
|
||||
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
||||
</Reference>
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.ServiceProcess" />
|
||||
<Reference Include="System.Web" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="CassiniServer.cs" />
|
||||
<Compile Include="Core\Connection.cs" />
|
||||
<Compile Include="Core\Host.cs" />
|
||||
<Compile Include="Core\Messages.cs" />
|
||||
<Compile Include="Core\NtlmAuth.cs" />
|
||||
<Compile Include="Core\Request.cs" />
|
||||
<Compile Include="Core\RequestEventArgs.cs" />
|
||||
<Compile Include="Core\Server.cs" />
|
||||
<Compile Include="Logging\LogInfo.cs" />
|
||||
<Compile Include="Misc\CommandLine.cs" />
|
||||
<Compile Include="Misc\CommandLineArguments.cs" />
|
||||
<Compile Include="Misc\CommandLineParser.cs" />
|
||||
<Compile Include="Misc\Common.cs" />
|
||||
<Compile Include="Misc\HostsFile.cs" />
|
||||
<Compile Include="Misc\Interop.cs" />
|
||||
<Compile Include="Misc\NetworkUtils.cs" />
|
||||
<Compile Include="Misc\ServiceInstaller.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Resources\SR.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Resources\CassiniDev.resx" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Resources\preferences-web-browser-shortcuts.ico" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="app.config" />
|
||||
</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>
|
||||
-->
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>
|
||||
</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
|
@ -1,148 +0,0 @@
|
|||
<?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)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>9.0.30729</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{070AE36D-4CE1-4708-BD0F-2896A6F117FC}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>CassiniDev</RootNamespace>
|
||||
<AssemblyName>CassiniDev4-lib</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<SignAssembly>false</SignAssembly>
|
||||
<AssemblyOriginatorKeyFile>..\CasssiniDev-DevKey.snk</AssemblyOriginatorKeyFile>
|
||||
<ApplicationIcon>Resources\preferences-web-browser-shortcuts.ico</ApplicationIcon>
|
||||
<FileUpgradeFlags>
|
||||
</FileUpgradeFlags>
|
||||
<OldToolsVersion>3.5</OldToolsVersion>
|
||||
<UpgradeBackupLocation />
|
||||
<TargetFrameworkProfile />
|
||||
<PublishUrl>publish\</PublishUrl>
|
||||
<Install>true</Install>
|
||||
<InstallFrom>Disk</InstallFrom>
|
||||
<UpdateEnabled>false</UpdateEnabled>
|
||||
<UpdateMode>Foreground</UpdateMode>
|
||||
<UpdateInterval>7</UpdateInterval>
|
||||
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
||||
<UpdatePeriodically>false</UpdatePeriodically>
|
||||
<UpdateRequired>false</UpdateRequired>
|
||||
<MapFileExtensions>true</MapFileExtensions>
|
||||
<ApplicationRevision>0</ApplicationRevision>
|
||||
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||
<IsWebBootstrapper>false</IsWebBootstrapper>
|
||||
<UseApplicationTrust>false</UseApplicationTrust>
|
||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\x86\Debug\</OutputPath>
|
||||
<DefineConstants>TRACE;DEBUG;NET40</DefineConstants>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<CodeAnalysisLogFile>bin\Debug\CassiniDev4.Lib\CassiniDev4-lib.dll.CodeAnalysisLog.xml</CodeAnalysisLogFile>
|
||||
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
|
||||
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRuleSetDirectories>;C:\Program Files\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
|
||||
<CodeAnalysisIgnoreBuiltInRuleSets>true</CodeAnalysisIgnoreBuiltInRuleSets>
|
||||
<CodeAnalysisRuleDirectories>;C:\Program Files\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
|
||||
<CodeAnalysisIgnoreBuiltInRules>true</CodeAnalysisIgnoreBuiltInRules>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
|
||||
<OutputPath>bin\x86\Release\</OutputPath>
|
||||
<DefineConstants>TRACE;NET40</DefineConstants>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<CodeAnalysisLogFile>bin\Release\CassiniDev4.Lib\CassiniDev4-lib.dll.CodeAnalysisLog.xml</CodeAnalysisLogFile>
|
||||
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
|
||||
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRuleSetDirectories>;C:\Program Files\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
|
||||
<CodeAnalysisRuleDirectories>;C:\Program Files\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
|
||||
<CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules>
|
||||
<CodeAnalysisFailOnMissingRules>false</CodeAnalysisFailOnMissingRules>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.configuration" />
|
||||
<Reference Include="System.Configuration.Install" />
|
||||
<Reference Include="System.Core">
|
||||
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
||||
</Reference>
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.ServiceProcess" />
|
||||
<Reference Include="System.Web" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="CassiniServer.cs" />
|
||||
<Compile Include="Core\Connection.cs" />
|
||||
<Compile Include="Core\Host.cs" />
|
||||
<Compile Include="Core\Messages.cs" />
|
||||
<Compile Include="Core\NtlmAuth.cs" />
|
||||
<Compile Include="Core\Request.cs" />
|
||||
<Compile Include="Core\RequestEventArgs.cs" />
|
||||
<Compile Include="Core\Server.cs" />
|
||||
<Compile Include="Logging\LogInfo.cs" />
|
||||
<Compile Include="Misc\CommandLine.cs" />
|
||||
<Compile Include="Misc\CommandLineArguments.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Misc\CommandLineParser.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Misc\Common.cs" />
|
||||
<Compile Include="Misc\HostsFile.cs" />
|
||||
<Compile Include="Misc\Interop.cs" />
|
||||
<Compile Include="Misc\NetworkUtils.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo4.cs" />
|
||||
<Compile Include="Resources\SR.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Resources\CassiniDev.resx" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Resources\preferences-web-browser-shortcuts.ico" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>Windows Installer 3.1</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="CassiniDev4-lib.dll.config">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
</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>
|
||||
-->
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>
|
||||
</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
|
@ -1,177 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>9.0.30729</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{F50EB799-6DED-4906-9DB0-B8FBE5C14028}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>CassiniDev</RootNamespace>
|
||||
<AssemblyName>WebDev.WebServer</AssemblyName>
|
||||
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<ApplicationIcon>Resources\preferences-web-browser-shortcuts.ico</ApplicationIcon>
|
||||
<SignAssembly>true</SignAssembly>
|
||||
<AssemblyOriginatorKeyFile>..\CasssiniDev-DevKey.snk</AssemblyOriginatorKeyFile>
|
||||
<PublishUrl>publish\</PublishUrl>
|
||||
<Install>true</Install>
|
||||
<InstallFrom>Disk</InstallFrom>
|
||||
<UpdateEnabled>false</UpdateEnabled>
|
||||
<UpdateMode>Foreground</UpdateMode>
|
||||
<UpdateInterval>7</UpdateInterval>
|
||||
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
||||
<UpdatePeriodically>false</UpdatePeriodically>
|
||||
<UpdateRequired>false</UpdateRequired>
|
||||
<MapFileExtensions>true</MapFileExtensions>
|
||||
<ApplicationRevision>0</ApplicationRevision>
|
||||
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||
<IsWebBootstrapper>false</IsWebBootstrapper>
|
||||
<UseApplicationTrust>false</UseApplicationTrust>
|
||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\x86\Debug\</OutputPath>
|
||||
<DefineConstants>TRACE;DEBUG</DefineConstants>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
|
||||
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
|
||||
<OutputPath>bin\x86\Release\</OutputPath>
|
||||
<DefineConstants>TRACE;GUI</DefineConstants>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
|
||||
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.configuration" />
|
||||
<Reference Include="System.Configuration.Install" />
|
||||
<Reference Include="System.Core">
|
||||
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
||||
</Reference>
|
||||
<Reference Include="System.ServiceProcess" />
|
||||
<Reference Include="System.Web" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Resources\preferences-web-browser-shortcuts.ico" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Misc\ServiceInstaller.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Program.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Core\Connection.cs" />
|
||||
<Compile Include="Core\Host.cs" />
|
||||
<Compile Include="Core\Messages.cs" />
|
||||
<Compile Include="Core\NtlmAuth.cs" />
|
||||
<Compile Include="Core\Request.cs" />
|
||||
<Compile Include="Core\RequestEventArgs.cs" />
|
||||
<Compile Include="Core\Server.cs" />
|
||||
<Compile Include="Logging\LogInfo.cs" />
|
||||
<Compile Include="Misc\CommandLine.cs" />
|
||||
<Compile Include="Misc\CommandLineArguments.cs" />
|
||||
<Compile Include="Misc\CommandLineParser.cs" />
|
||||
<Compile Include="Misc\Common.cs" />
|
||||
<Compile Include="Misc\HostsFile.cs" />
|
||||
<Compile Include="Misc\Interop.cs" />
|
||||
<Compile Include="Misc\NetworkUtils.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Resources\SR.cs" />
|
||||
<Compile Include="Views\BodyView.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Views\BodyView.Designer.cs">
|
||||
<DependentUpon>BodyView.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Views\FormView.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Views\FormView.Designer.cs">
|
||||
<DependentUpon>FormView.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Views\LogView.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Views\LogView.Designer.cs">
|
||||
<DependentUpon>LogView.cs</DependentUpon>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Resources\CassiniDev.resx" />
|
||||
<EmbeddedResource Include="Views\BodyView.resx">
|
||||
<DependentUpon>BodyView.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Views\FormView.resx">
|
||||
<DependentUpon>FormView.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Views\LogView.resx">
|
||||
<DependentUpon>LogView.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework Client Profile</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.2.0">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 2.0 %28x86%29</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.0">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.0 %28x86%29</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>Windows Installer 3.1</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="app.config" />
|
||||
<None Include="CassiniDev4-lib.dll.config" />
|
||||
</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>
|
||||
-->
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>
|
||||
</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
|
@ -1,181 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>9.0.30729</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{06764838-9B08-4254-AFA6-2B790E110DFB}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>CassiniDev</RootNamespace>
|
||||
<AssemblyName>WebDev.WebServer20</AssemblyName>
|
||||
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<ApplicationIcon>Resources\preferences-web-browser-shortcuts.ico</ApplicationIcon>
|
||||
<SignAssembly>true</SignAssembly>
|
||||
<AssemblyOriginatorKeyFile>..\CasssiniDev-DevKey.snk</AssemblyOriginatorKeyFile>
|
||||
<PublishUrl>publish\</PublishUrl>
|
||||
<Install>true</Install>
|
||||
<InstallFrom>Disk</InstallFrom>
|
||||
<UpdateEnabled>false</UpdateEnabled>
|
||||
<UpdateMode>Foreground</UpdateMode>
|
||||
<UpdateInterval>7</UpdateInterval>
|
||||
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
||||
<UpdatePeriodically>false</UpdatePeriodically>
|
||||
<UpdateRequired>false</UpdateRequired>
|
||||
<MapFileExtensions>true</MapFileExtensions>
|
||||
<ApplicationRevision>0</ApplicationRevision>
|
||||
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||
<IsWebBootstrapper>false</IsWebBootstrapper>
|
||||
<UseApplicationTrust>false</UseApplicationTrust>
|
||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\x86\Debug\</OutputPath>
|
||||
<DefineConstants>TRACE;DEBUG</DefineConstants>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
|
||||
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
|
||||
<OutputPath>bin\x86\Release\</OutputPath>
|
||||
<DefineConstants>TRACE;GUI</DefineConstants>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
|
||||
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.configuration" />
|
||||
<Reference Include="System.Configuration.Install" />
|
||||
<Reference Include="System.Core">
|
||||
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
||||
</Reference>
|
||||
<Reference Include="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.ServiceProcess" />
|
||||
<Reference Include="System.Web" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Resources\preferences-web-browser-shortcuts.ico" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Misc\ServiceInstaller.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Program.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Core\Connection.cs" />
|
||||
<Compile Include="Core\Host.cs" />
|
||||
<Compile Include="Core\Messages.cs" />
|
||||
<Compile Include="Core\NtlmAuth.cs" />
|
||||
<Compile Include="Core\Request.cs" />
|
||||
<Compile Include="Core\RequestEventArgs.cs" />
|
||||
<Compile Include="Core\Server.cs" />
|
||||
<Compile Include="Logging\LogInfo.cs" />
|
||||
<Compile Include="Misc\CommandLine.cs" />
|
||||
<Compile Include="Misc\CommandLineArguments.cs" />
|
||||
<Compile Include="Misc\CommandLineParser.cs" />
|
||||
<Compile Include="Misc\Common.cs" />
|
||||
<Compile Include="Misc\HostsFile.cs" />
|
||||
<Compile Include="Misc\Interop.cs" />
|
||||
<Compile Include="Misc\NetworkUtils.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo4.cs" />
|
||||
<Compile Include="Resources\SR.cs" />
|
||||
<Compile Include="Views\BodyView.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Views\BodyView.Designer.cs">
|
||||
<DependentUpon>BodyView.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Views\FormView.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Views\FormView.Designer.cs">
|
||||
<DependentUpon>FormView.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Views\LogView.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Views\LogView.Designer.cs">
|
||||
<DependentUpon>LogView.cs</DependentUpon>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Resources\CassiniDev.resx" />
|
||||
<EmbeddedResource Include="Views\BodyView.resx">
|
||||
<DependentUpon>BodyView.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Views\FormView.resx">
|
||||
<DependentUpon>FormView.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Views\LogView.resx">
|
||||
<DependentUpon>LogView.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework Client Profile</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.2.0">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 2.0 %28x86%29</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.0">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.0 %28x86%29</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>Windows Installer 3.1</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="app.config" />
|
||||
</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>
|
||||
-->
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>
|
||||
</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
|
@ -1,190 +0,0 @@
|
|||
<?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)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>9.0.30729</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{73C76E4C-426C-45C2-9D37-1E46FA29CE66}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>CassiniDev</RootNamespace>
|
||||
<AssemblyName>WebDev.WebServer40</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<ApplicationIcon>Resources\preferences-web-browser-shortcuts.ico</ApplicationIcon>
|
||||
<SignAssembly>true</SignAssembly>
|
||||
<AssemblyOriginatorKeyFile>..\CasssiniDev-DevKey.snk</AssemblyOriginatorKeyFile>
|
||||
<FileUpgradeFlags>
|
||||
</FileUpgradeFlags>
|
||||
<OldToolsVersion>3.5</OldToolsVersion>
|
||||
<UpgradeBackupLocation />
|
||||
<TargetFrameworkProfile />
|
||||
<PublishUrl>publish\</PublishUrl>
|
||||
<Install>true</Install>
|
||||
<InstallFrom>Disk</InstallFrom>
|
||||
<UpdateEnabled>false</UpdateEnabled>
|
||||
<UpdateMode>Foreground</UpdateMode>
|
||||
<UpdateInterval>7</UpdateInterval>
|
||||
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
||||
<UpdatePeriodically>false</UpdatePeriodically>
|
||||
<UpdateRequired>false</UpdateRequired>
|
||||
<MapFileExtensions>true</MapFileExtensions>
|
||||
<ApplicationRevision>0</ApplicationRevision>
|
||||
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||
<IsWebBootstrapper>false</IsWebBootstrapper>
|
||||
<UseApplicationTrust>false</UseApplicationTrust>
|
||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\x86\Debug\</OutputPath>
|
||||
<DefineConstants>TRACE;DEBUG;NET40</DefineConstants>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<CodeAnalysisLogFile>bin\Debug\DevServer\10.0\WebDev.WebServer40.exe.CodeAnalysisLog.xml</CodeAnalysisLogFile>
|
||||
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
|
||||
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRuleSetDirectories>;C:\Program Files\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
|
||||
<CodeAnalysisIgnoreBuiltInRuleSets>true</CodeAnalysisIgnoreBuiltInRuleSets>
|
||||
<CodeAnalysisRuleDirectories>;C:\Program Files\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
|
||||
<CodeAnalysisIgnoreBuiltInRules>true</CodeAnalysisIgnoreBuiltInRules>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
|
||||
<OutputPath>bin\x86\Release\</OutputPath>
|
||||
<DefineConstants>TRACE;NET40</DefineConstants>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<CodeAnalysisLogFile>bin\Release\DevServer\10.0\WebDev.WebServer40.exe.CodeAnalysisLog.xml</CodeAnalysisLogFile>
|
||||
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
|
||||
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRuleSetDirectories>;C:\Program Files\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
|
||||
<CodeAnalysisIgnoreBuiltInRuleSets>true</CodeAnalysisIgnoreBuiltInRuleSets>
|
||||
<CodeAnalysisRuleDirectories>;C:\Program Files\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
|
||||
<CodeAnalysisIgnoreBuiltInRules>true</CodeAnalysisIgnoreBuiltInRules>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.configuration" />
|
||||
<Reference Include="System.Configuration.Install" />
|
||||
<Reference Include="System.Core">
|
||||
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
||||
</Reference>
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.ServiceProcess" />
|
||||
<Reference Include="System.Web" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Resources\preferences-web-browser-shortcuts.ico" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Core\Connection.cs" />
|
||||
<Compile Include="Core\Host.cs" />
|
||||
<Compile Include="Core\Messages.cs" />
|
||||
<Compile Include="Core\NtlmAuth.cs" />
|
||||
<Compile Include="Core\Request.cs" />
|
||||
<Compile Include="Core\RequestEventArgs.cs" />
|
||||
<Compile Include="Core\Server.cs" />
|
||||
<Compile Include="Logging\LogInfo.cs" />
|
||||
<Compile Include="Misc\CommandLine.cs" />
|
||||
<Compile Include="Misc\CommandLineArguments.cs" />
|
||||
<Compile Include="Misc\CommandLineParser.cs" />
|
||||
<Compile Include="Misc\Common.cs" />
|
||||
<Compile Include="Misc\HostsFile.cs" />
|
||||
<Compile Include="Misc\Interop.cs" />
|
||||
<Compile Include="Misc\NetworkUtils.cs" />
|
||||
<Compile Include="Misc\ServiceInstaller.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Program.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo4.cs" />
|
||||
<Compile Include="Resources\SR.cs" />
|
||||
<Compile Include="Views\BodyView.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Views\BodyView.Designer.cs">
|
||||
<DependentUpon>BodyView.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Views\FormView.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Views\FormView.Designer.cs">
|
||||
<DependentUpon>FormView.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Views\HelpView.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Views\HelpView.Designer.cs">
|
||||
<DependentUpon>HelpView.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Views\LogView.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Views\LogView.Designer.cs">
|
||||
<DependentUpon>LogView.cs</DependentUpon>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Resources\CassiniDev.resx" />
|
||||
<EmbeddedResource Include="Views\BodyView.resx">
|
||||
<DependentUpon>BodyView.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Views\FormView.resx">
|
||||
<DependentUpon>FormView.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Views\HelpView.resx">
|
||||
<DependentUpon>HelpView.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Views\LogView.resx">
|
||||
<DependentUpon>LogView.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>Windows Installer 3.1</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="WebDev.WebServer40.exe.config">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
<SubType>Designer</SubType>
|
||||
</None>
|
||||
</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>
|
||||
-->
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>
|
||||
</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<PreBuildEvent>
|
||||
</PreBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
|
@ -1,200 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>9.0.30729</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{0D9F0FEA-45F7-4CE4-9868-6FB9BBE3DD4C}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>CassiniDev</RootNamespace>
|
||||
<AssemblyName>CassiniDev</AssemblyName>
|
||||
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<ApplicationIcon>Resources\preferences-web-browser-shortcuts.ico</ApplicationIcon>
|
||||
<StartupObject>
|
||||
</StartupObject>
|
||||
<SccProjectName>
|
||||
</SccProjectName>
|
||||
<SccLocalPath>
|
||||
</SccLocalPath>
|
||||
<SccAuxPath>
|
||||
</SccAuxPath>
|
||||
<SccProvider>
|
||||
</SccProvider>
|
||||
<SignAssembly>true</SignAssembly>
|
||||
<AssemblyOriginatorKeyFile>..\CasssiniDev-DevKey.snk</AssemblyOriginatorKeyFile>
|
||||
<TargetFrameworkSubset>
|
||||
</TargetFrameworkSubset>
|
||||
<PublishUrl>publish\</PublishUrl>
|
||||
<Install>true</Install>
|
||||
<InstallFrom>Disk</InstallFrom>
|
||||
<UpdateEnabled>false</UpdateEnabled>
|
||||
<UpdateMode>Foreground</UpdateMode>
|
||||
<UpdateInterval>7</UpdateInterval>
|
||||
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
||||
<UpdatePeriodically>false</UpdatePeriodically>
|
||||
<UpdateRequired>false</UpdateRequired>
|
||||
<MapFileExtensions>true</MapFileExtensions>
|
||||
<ApplicationRevision>0</ApplicationRevision>
|
||||
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||
<IsWebBootstrapper>false</IsWebBootstrapper>
|
||||
<UseApplicationTrust>false</UseApplicationTrust>
|
||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\x86\Debug\</OutputPath>
|
||||
<DefineConstants>TRACE;DEBUG</DefineConstants>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
|
||||
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
|
||||
<OutputPath>bin\x86\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
|
||||
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.configuration" />
|
||||
<Reference Include="System.Configuration.Install" />
|
||||
<Reference Include="System.Core">
|
||||
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
||||
</Reference>
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.ServiceProcess" />
|
||||
<Reference Include="System.Web" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Misc\CommandLine.cs" />
|
||||
<Compile Include="Misc\ServiceInstaller.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Core\NtlmAuth.cs" />
|
||||
<Compile Include="Core\RequestEventArgs.cs" />
|
||||
<Compile Include="Core\Server.cs" />
|
||||
<Compile Include="Misc\CommandLineParser.cs" />
|
||||
<Compile Include="Misc\Common.cs" />
|
||||
<Compile Include="Misc\Interop.cs" />
|
||||
<Compile Include="Views\BodyView.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Views\BodyView.Designer.cs">
|
||||
<DependentUpon>BodyView.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Logging\LogInfo.cs" />
|
||||
<Compile Include="Views\LogView.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Views\LogView.Designer.cs">
|
||||
<DependentUpon>LogView.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Misc\NetworkUtils.cs" />
|
||||
<Compile Include="Program.cs" />
|
||||
<Compile Include="Misc\HostsFile.cs" />
|
||||
<Compile Include="Core\Connection.cs">
|
||||
<SubType>
|
||||
</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Views\FormView.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Views\FormView.Designer.cs">
|
||||
<DependentUpon>FormView.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Core\Host.cs">
|
||||
<SubType>
|
||||
</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Core\Messages.cs">
|
||||
<SubType>
|
||||
</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Core\Request.cs">
|
||||
<SubType>
|
||||
</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Misc\CommandLineArguments.cs" />
|
||||
<Compile Include="Resources\SR.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Resources\preferences-web-browser-shortcuts.ico" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Views\BodyView.resx">
|
||||
<DependentUpon>BodyView.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Views\LogView.resx">
|
||||
<DependentUpon>LogView.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Views\FormView.resx">
|
||||
<DependentUpon>FormView.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Resources\CassiniDev.resx">
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework Client Profile</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.2.0">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 2.0 %28x86%29</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.0">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.0 %28x86%29</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>Windows Installer 3.1</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="app.config" />
|
||||
<None Include="BuildDeploy.cmd" />
|
||||
</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>
|
||||
-->
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>
|
||||
</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
|
@ -1,9 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<configuration>
|
||||
<runtime>
|
||||
<generatePublisherEvidence enabled="false"/>
|
||||
</runtime>
|
||||
<startup useLegacyV2RuntimeActivationPolicy="true">
|
||||
<supportedRuntime version="v4.0" />
|
||||
</startup>
|
||||
</configuration>
|
|
@ -1,163 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>9.0.30729</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{0D9F0FEA-45F7-4CE4-9868-6FB9BBE3DD4C}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>CassiniDev</RootNamespace>
|
||||
<AssemblyName>CassiniDev</AssemblyName>
|
||||
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<ApplicationIcon>Resources\earth_network.ico</ApplicationIcon>
|
||||
<StartupObject>
|
||||
</StartupObject>
|
||||
<SccProjectName>
|
||||
</SccProjectName>
|
||||
<SccLocalPath>
|
||||
</SccLocalPath>
|
||||
<SccAuxPath>
|
||||
</SccAuxPath>
|
||||
<SccProvider>
|
||||
</SccProvider>
|
||||
<SignAssembly>true</SignAssembly>
|
||||
<AssemblyOriginatorKeyFile>..\CasssiniDev-DevKey.snk</AssemblyOriginatorKeyFile>
|
||||
<TargetFrameworkSubset>
|
||||
</TargetFrameworkSubset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>TRACE;DEBUG</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<DocumentationFile>
|
||||
</DocumentationFile>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.configuration" />
|
||||
<Reference Include="System.Core">
|
||||
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
||||
</Reference>
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Data.SQLite, Version=1.0.66.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=x86">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\lib\System.Data.SQLite.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Web" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Views\HelpView.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Views\HelpView.Designer.cs">
|
||||
<DependentUpon>HelpView.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Core\NtlmAuth.cs" />
|
||||
<Compile Include="Core\RequestEventArgs.cs" />
|
||||
<Compile Include="Core\Server.cs" />
|
||||
<Compile Include="Misc\CommandLineParser.cs" />
|
||||
<Compile Include="Misc\Common.cs" />
|
||||
<Compile Include="Misc\Interop.cs" />
|
||||
<Compile Include="Views\BodyView.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Views\BodyView.Designer.cs">
|
||||
<DependentUpon>BodyView.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Logging\ServerLogBase.cs" />
|
||||
<Compile Include="Logging\SQLiteServerLog.cs" />
|
||||
<Compile Include="Logging\LogInfo.cs" />
|
||||
<Compile Include="Views\LogView.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Views\LogView.Designer.cs">
|
||||
<DependentUpon>LogView.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Logging\NullServerLogDal.cs" />
|
||||
<Compile Include="Misc\NetworkUtils.cs" />
|
||||
<Compile Include="Program.cs" />
|
||||
<Compile Include="Misc\HostsFile.cs" />
|
||||
<Compile Include="Core\Connection.cs">
|
||||
<SubType>
|
||||
</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Views\FormView.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Views\FormView.Designer.cs">
|
||||
<DependentUpon>FormView.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Core\Host.cs">
|
||||
<SubType>
|
||||
</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Core\Messages.cs">
|
||||
<SubType>
|
||||
</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Core\Request.cs">
|
||||
<SubType>
|
||||
</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Misc\CommandLineArguments.cs" />
|
||||
<Compile Include="Resources\SR.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Resources\earth_network.ico" />
|
||||
<Content Include="Ms-PL.htm">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="ReadMe.htm">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Views\BodyView.resx">
|
||||
<DependentUpon>BodyView.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Views\HelpView.resx">
|
||||
<DependentUpon>HelpView.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Views\LogView.resx">
|
||||
<DependentUpon>LogView.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Views\FormView.resx">
|
||||
<DependentUpon>FormView.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Resources\CassiniDev.resx">
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
</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>
|
||||
-->
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>xcopy "$(TargetDir)$(TargetName).*" "$(ProjectDir)..\deploy\$(ConfigurationName)\" /S /I /F /Y <nul:</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
|
@ -1,9 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<configuration>
|
||||
<runtime>
|
||||
<generatePublisherEvidence enabled="false"/>
|
||||
</runtime>
|
||||
<startup useLegacyV2RuntimeActivationPolicy="true">
|
||||
<supportedRuntime version="v4.0" />
|
||||
</startup>
|
||||
</configuration>
|
|
@ -1,241 +0,0 @@
|
|||
// /* **********************************************************************************
|
||||
// *
|
||||
// * Copyright (c) Sky Sanders. All rights reserved.
|
||||
// *
|
||||
// * This source code is subject to terms and conditions of the Microsoft Public
|
||||
// * License (Ms-PL). A copy of the license can be found in the license.htm file
|
||||
// * included in this distribution.
|
||||
// *
|
||||
// * You must not remove this notice, or any other, from this software.
|
||||
// *
|
||||
// * **********************************************************************************/
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Net;
|
||||
using System.Threading;
|
||||
|
||||
namespace CassiniDev
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// Made a go at spinning the server up from this process but after dealing with
|
||||
/// irratic behaviour regarding apartment state, platform concerns, unloaded app domains,
|
||||
/// and all the other issues that you can find that people struggle with I just decided
|
||||
/// to strictly format the console app's output and just spin up an external process.
|
||||
/// Seems robust so far.
|
||||
/// </summary>
|
||||
public class CassiniDevServerOP
|
||||
{
|
||||
//private bool _disposed;
|
||||
|
||||
private string _hostname;
|
||||
private StreamWriter _input;
|
||||
private IPAddress _ipAddress;
|
||||
private Thread _outputThread;
|
||||
private string _rootUrl;
|
||||
private Process _serverProcess;
|
||||
private const int TimeOut = 60000;
|
||||
private const int WaitForPort = 5000;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// </summary>
|
||||
public void Dispose()
|
||||
{
|
||||
{
|
||||
if (_serverProcess != null)
|
||||
{
|
||||
StopServer();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// The root URL of the running web application
|
||||
/// </summary>
|
||||
public string RootUrl
|
||||
{
|
||||
get { return _rootUrl; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Combine the RootUrl of the running web application with the relative url specified.
|
||||
/// </summary>
|
||||
/// <param name="relativeUrl"></param>
|
||||
/// <returns></returns>
|
||||
public string NormalizeUrl(string relativeUrl)
|
||||
{
|
||||
return CassiniNetworkUtils.NormalizeUrl(RootUrl, relativeUrl);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Will start specified application as "localhost" on loopback and first available port in the range 8000-10000 with vpath "/"
|
||||
/// </summary>
|
||||
/// <param name="applicationPath">Physical path to application.</param>
|
||||
public void StartServer(string applicationPath)
|
||||
{
|
||||
StartServer(applicationPath, CassiniNetworkUtils.GetAvailablePort(8000, 10000, IPAddress.Loopback, true), "/", "localhost");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Will start specified application on loopback
|
||||
/// </summary>
|
||||
/// <param name="applicationPath">Physical path to application.</param>
|
||||
/// <param name="port">Port to listen on.</param>
|
||||
/// <param name="virtualPath">Optional. defaults to "/"</param>
|
||||
/// <param name="hostName">Optional. Is used to construct RootUrl. Defaults to "localhost"</param>
|
||||
public void StartServer(string applicationPath, int port, string virtualPath, string hostName)
|
||||
{
|
||||
// WebHost.Server will not run on any other IP
|
||||
IPAddress ipAddress = IPAddress.Loopback;
|
||||
|
||||
if (!CassiniNetworkUtils.IsPortAvailable(ipAddress, port))
|
||||
{
|
||||
throw new Exception(string.Format("Port {0} is in use.", port));
|
||||
}
|
||||
|
||||
applicationPath = Path.GetFullPath(applicationPath);
|
||||
|
||||
virtualPath = String.Format("/{0}/", (virtualPath ?? string.Empty).Trim('/')).Replace("//", "/");
|
||||
hostName = string.IsNullOrEmpty(hostName) ? "localhost" : hostName;
|
||||
|
||||
StartServer(applicationPath, ipAddress, port, virtualPath, hostName);
|
||||
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
/// </summary>
|
||||
/// <param name="applicationPath">Physical path to application.</param>
|
||||
/// <param name="ipAddress">IP to listen on.</param>
|
||||
/// <param name="port">Port to listen on.</param>
|
||||
/// <param name="virtualPath">Optional. default value '/'</param>
|
||||
/// <param name="hostName">Optional. Used to construct RootUrl. Defaults to 'localhost'</param>
|
||||
public virtual void StartServer(string applicationPath, IPAddress ipAddress, int port, string virtualPath, string hostName)
|
||||
{
|
||||
|
||||
_hostname = hostName;
|
||||
_ipAddress = ipAddress;
|
||||
|
||||
// massage and validate arguments
|
||||
if (string.IsNullOrEmpty(virtualPath))
|
||||
{
|
||||
virtualPath = "/";
|
||||
}
|
||||
if (!virtualPath.StartsWith("/"))
|
||||
{
|
||||
virtualPath = "/" + virtualPath;
|
||||
}
|
||||
if (_serverProcess != null)
|
||||
{
|
||||
throw new InvalidOperationException("Server is running");
|
||||
}
|
||||
|
||||
|
||||
string commandLine = (new CommandLineArguments
|
||||
{
|
||||
Port = port,
|
||||
ApplicationPath = string.Format("\"{0}\"", Path.GetFullPath(applicationPath).Trim('\"').TrimEnd('\\')),
|
||||
HostName = hostName,
|
||||
IPAddress = ipAddress.ToString(),
|
||||
VirtualPath = string.Format("\"{0}\"", virtualPath),
|
||||
TimeOut = TimeOut,
|
||||
WaitForPort = WaitForPort,
|
||||
IPMode = IPMode.Specific,
|
||||
PortMode = PortMode.Specific
|
||||
}).ToString();
|
||||
|
||||
|
||||
_serverProcess = new Process
|
||||
{
|
||||
StartInfo = new ProcessStartInfo
|
||||
{
|
||||
UseShellExecute = false,
|
||||
ErrorDialog = false,
|
||||
CreateNoWindow = true,
|
||||
RedirectStandardOutput = true,
|
||||
RedirectStandardInput = true,
|
||||
#if NET40 //TODO: find out the real flag
|
||||
FileName = "CassiniDev4-console.exe",
|
||||
#else
|
||||
FileName = "CassiniDev-console.exe",
|
||||
#endif
|
||||
|
||||
Arguments = commandLine,
|
||||
WorkingDirectory = Environment.CurrentDirectory
|
||||
}
|
||||
};
|
||||
|
||||
// we are going to monitor each line of the output until we get a start or error signal
|
||||
// and then just ignore the rest
|
||||
|
||||
string line = null;
|
||||
|
||||
_serverProcess.Start();
|
||||
|
||||
_outputThread = new Thread(() =>
|
||||
{
|
||||
string l = _serverProcess.StandardOutput.ReadLine();
|
||||
while (l != null)
|
||||
{
|
||||
if (l.StartsWith("started:") || l.StartsWith("error:"))
|
||||
{
|
||||
line = l;
|
||||
}
|
||||
l = _serverProcess.StandardOutput.ReadLine();
|
||||
}
|
||||
});
|
||||
_outputThread.Start();
|
||||
|
||||
// use StandardInput to send the newline to stop the server when required
|
||||
_input = _serverProcess.StandardInput;
|
||||
|
||||
// block until we get a signal
|
||||
while (line == null)
|
||||
{
|
||||
Thread.Sleep(10);
|
||||
}
|
||||
|
||||
if (!line.StartsWith("started:"))
|
||||
{
|
||||
throw new Exception(string.Format("Could not start server: {0}", line));
|
||||
}
|
||||
|
||||
// line is the root url
|
||||
_rootUrl = line.Substring(line.IndexOf(':') + 1);
|
||||
}
|
||||
/// <summary>
|
||||
/// <para>Stops the server, if running.</para>
|
||||
/// </summary>
|
||||
public virtual void StopServer()
|
||||
{
|
||||
StopServer(100);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>Stops the server, if running.</para>
|
||||
/// </summary>
|
||||
protected virtual void StopServer(int delay)
|
||||
{
|
||||
Thread.Sleep(delay);
|
||||
if (_serverProcess != null)
|
||||
{
|
||||
try
|
||||
{
|
||||
_input.WriteLine();
|
||||
_serverProcess.WaitForExit(10000);
|
||||
Thread.Sleep(10);
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
finally
|
||||
{
|
||||
_serverProcess.Dispose();
|
||||
_serverProcess = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,140 +0,0 @@
|
|||
// /* **********************************************************************************
|
||||
// *
|
||||
// * Copyright (c) Sky Sanders. All rights reserved.
|
||||
// *
|
||||
// * This source code is subject to terms and conditions of the Microsoft Public
|
||||
// * License (Ms-PL). A copy of the license can be found in the license.htm file
|
||||
// * included in this distribution.
|
||||
// *
|
||||
// * You must not remove this notice, or any other, from this software.
|
||||
// *
|
||||
// * **********************************************************************************/
|
||||
using System;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
using System.Net;
|
||||
|
||||
|
||||
namespace CassiniDev
|
||||
{
|
||||
public class CassiniDevServer
|
||||
{
|
||||
|
||||
private Server _server;
|
||||
|
||||
#region Implementation of IDisposable
|
||||
|
||||
/// <summary>
|
||||
/// </summary>
|
||||
public void Dispose()
|
||||
{
|
||||
if (_server != null)
|
||||
{
|
||||
StopServer();
|
||||
_server.Dispose();
|
||||
_server = null;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// The root URL of the running web application
|
||||
/// </summary>
|
||||
public string RootUrl
|
||||
{
|
||||
get { return string.Format(CultureInfo.InvariantCulture, "http://{0}:{1}{2}", _server.HostName, _server.Port, _server.VirtualPath); }
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
/// Combine the RootUrl of the running web application with the relative url
|
||||
/// specified.
|
||||
/// </summary>
|
||||
/// <param name="relativeUrl"></param>
|
||||
/// <returns></returns>
|
||||
public string NormalizeUrl(string relativeUrl)
|
||||
{
|
||||
return CassiniNetworkUtils.NormalizeUrl(RootUrl, relativeUrl);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Will start specified application as "localhost" on loopback and first available port in the range 8000-10000 with vpath "/"
|
||||
/// </summary>
|
||||
/// <param name="applicationPath">Physical path to application.</param>
|
||||
public void StartServer(string applicationPath)
|
||||
{
|
||||
StartServer(applicationPath, CassiniNetworkUtils.GetAvailablePort(8000, 10000, IPAddress.Loopback, true), "/", "localhost");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Will start specified application on loopback
|
||||
/// </summary>
|
||||
/// <param name="applicationPath">Physical path to application.</param>
|
||||
/// <param name="port">Port to listen on.</param>
|
||||
/// <param name="virtualPath">Optional. defaults to "/"</param>
|
||||
/// <param name="hostName">Optional. Is used to construct RootUrl. Defaults to "localhost"</param>
|
||||
public void StartServer(string applicationPath, int port, string virtualPath, string hostName)
|
||||
{
|
||||
// WebHost.Server will not run on any other IP
|
||||
IPAddress ipAddress = IPAddress.Loopback;
|
||||
|
||||
if (!CassiniNetworkUtils.IsPortAvailable(ipAddress, port))
|
||||
{
|
||||
throw new Exception(string.Format("Port {0} is in use.", port));
|
||||
}
|
||||
|
||||
applicationPath = Path.GetFullPath(applicationPath);
|
||||
|
||||
virtualPath = String.Format("/{0}/", (virtualPath ?? string.Empty).Trim('/')).Replace("//", "/");
|
||||
hostName = string.IsNullOrEmpty(hostName) ? "localhost" : hostName;
|
||||
|
||||
StartServer(applicationPath, ipAddress, port, virtualPath, hostName);
|
||||
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// </summary>
|
||||
/// <param name="applicationPath">Physical path to application.</param>
|
||||
/// <param name="ipAddress">IP to listen on.</param>
|
||||
/// <param name="port">Port to listen on.</param>
|
||||
/// <param name="virtualPath">Optional. default value '/'</param>
|
||||
/// <param name="hostname">Optional. Used to construct RootUrl. Defaults to 'localhost'</param>
|
||||
public void StartServer(string applicationPath, IPAddress ipAddress, int port, string virtualPath, string hostname)
|
||||
{
|
||||
if (_server != null)
|
||||
{
|
||||
throw new InvalidOperationException("Server already started");
|
||||
}
|
||||
_server = new Server(port, virtualPath, applicationPath, ipAddress,hostname, 60000);
|
||||
|
||||
try
|
||||
{
|
||||
_server.Start();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
throw new InvalidOperationException("Error starting server instance.", ex);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>Stops the server.</para>
|
||||
/// </summary>
|
||||
public void StopServer()
|
||||
{
|
||||
if (_server != null)
|
||||
{
|
||||
_server.ShutDown();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
|
@ -1,121 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Configuration;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Text;
|
||||
|
||||
namespace CassiniDev.Configuration
|
||||
{
|
||||
public class CassiniDevConfigurationSection : ConfigurationSection
|
||||
{
|
||||
[ConfigurationProperty("profiles")]
|
||||
public CassiniDevProfileElementCollection Profiles
|
||||
{
|
||||
get
|
||||
{
|
||||
return (CassiniDevProfileElementCollection)this["profiles"];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[ConfigurationCollection(typeof(CassiniDevProfileElement), AddItemName = "profile", CollectionType = ConfigurationElementCollectionType.BasicMap)]
|
||||
public class CassiniDevProfileElementCollection : ConfigurationElementCollection
|
||||
{
|
||||
protected override ConfigurationElement CreateNewElement()
|
||||
{
|
||||
return new CassiniDevProfileElement();
|
||||
}
|
||||
|
||||
protected override object GetElementKey(ConfigurationElement element)
|
||||
{
|
||||
return ((CassiniDevProfileElement)element).Port;
|
||||
}
|
||||
}
|
||||
public class CassiniDevProfileElement : ConfigurationElement
|
||||
{
|
||||
/// <summary>
|
||||
/// Port is used as profile selector
|
||||
/// </summary>
|
||||
[ConfigurationProperty("port", DefaultValue = "*", IsKey = true, IsRequired = true)]
|
||||
public string Port
|
||||
{
|
||||
get
|
||||
{
|
||||
return (string)this["port"];
|
||||
}
|
||||
set
|
||||
{
|
||||
this["port"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[ConfigurationProperty("path")]
|
||||
public string Path
|
||||
{
|
||||
get
|
||||
{
|
||||
return (string)this["path"];
|
||||
}
|
||||
set
|
||||
{
|
||||
this["path"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
[ConfigurationProperty("hostName")]
|
||||
public string HostName
|
||||
{
|
||||
get
|
||||
{
|
||||
return (string)this["hostName"];
|
||||
}
|
||||
set
|
||||
{
|
||||
this["hostName"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[ConfigurationProperty("ip")]
|
||||
public string IpAddress
|
||||
{
|
||||
get
|
||||
{
|
||||
return (string)this["ip"];
|
||||
}
|
||||
set
|
||||
{
|
||||
this["ip"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[ConfigurationProperty("ipMode", DefaultValue = CassiniDev.IPMode.Loopback)]
|
||||
public IPMode IpMode
|
||||
{
|
||||
get
|
||||
{
|
||||
return (IPMode)this["ipMode"];
|
||||
}
|
||||
set
|
||||
{
|
||||
this["ipMode"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[ConfigurationProperty("v6", DefaultValue = false)]
|
||||
public bool IpV6
|
||||
{
|
||||
get
|
||||
{
|
||||
return (bool)this["v6"];
|
||||
}
|
||||
set
|
||||
{
|
||||
this["v6"] = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,156 +0,0 @@
|
|||
// /* **********************************************************************************
|
||||
// *
|
||||
// * Copyright (c) Sky Sanders. All rights reserved.
|
||||
// *
|
||||
// * This source code is subject to terms and conditions of the Microsoft Public
|
||||
// * License (Ms-PL). A copy of the license can be found in the license.htm file
|
||||
// * included in this distribution.
|
||||
// *
|
||||
// * You must not remove this notice, or any other, from this software.
|
||||
// *
|
||||
// * **********************************************************************************/
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Configuration.Install;
|
||||
using System.Net;
|
||||
|
||||
|
||||
|
||||
|
||||
namespace CassiniDev
|
||||
{
|
||||
public class Program
|
||||
{
|
||||
[STAThread]
|
||||
private static void Main(string[] cmdLine)
|
||||
{
|
||||
CommandLineArguments args = new CommandLineArguments();
|
||||
|
||||
|
||||
if (!CommandLineParser.ParseArgumentsWithUsage(cmdLine, args))
|
||||
{
|
||||
Environment.Exit(-1);
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (args.RunMode)
|
||||
{
|
||||
case RunMode.Server:
|
||||
IPAddress ip=IPAddress.Loopback;
|
||||
try
|
||||
{
|
||||
args.Validate();
|
||||
|
||||
ip = CommandLineArguments.ParseIP(args.IPMode, args.IPv6, args.IPAddress);
|
||||
int port = args.PortMode == PortMode.FirstAvailable ?
|
||||
CassiniNetworkUtils.GetAvailablePort(args.PortRangeStart, args.PortRangeEnd, ip, true) :
|
||||
args.Port;
|
||||
|
||||
if(args.AddHost)
|
||||
{
|
||||
HostsFile.AddHostEntry(ip.ToString(), args.HostName);
|
||||
}
|
||||
|
||||
using (var server =
|
||||
new Server(port, args.VirtualPath, args.ApplicationPath,
|
||||
ip, args.HostName, args.TimeOut))
|
||||
{
|
||||
server.Start();
|
||||
Console.WriteLine("started: {0}\r\nPress Enter key to exit....", server.RootUrl);
|
||||
Console.ReadLine();
|
||||
server.ShutDown();
|
||||
}
|
||||
}
|
||||
catch (CassiniException ex)
|
||||
{
|
||||
Console.WriteLine("error:{0} {1}",
|
||||
ex.Field == ErrorField.None
|
||||
? ex.GetType().Name
|
||||
: ex.Field.ToString(), ex.Message);
|
||||
}
|
||||
catch (Exception ex2)
|
||||
{
|
||||
Console.WriteLine("error:{0}", ex2.Message);
|
||||
Console.WriteLine(CommandLineParser.ArgumentsUsage(typeof(CommandLineArguments)));
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (args.AddHost)
|
||||
{
|
||||
HostsFile.RemoveHostEntry(ip.ToString(), args.HostName);
|
||||
}
|
||||
|
||||
}
|
||||
break;
|
||||
case RunMode.Hostsfile:
|
||||
SetHostsFile(args);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static void SetHostsFile(CommandLineArguments sargs)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (sargs.AddHost)
|
||||
{
|
||||
HostsFile.AddHostEntry(sargs.IPAddress, sargs.HostName);
|
||||
}
|
||||
else
|
||||
{
|
||||
HostsFile.RemoveHostEntry(sargs.IPAddress, sargs.HostName);
|
||||
}
|
||||
}
|
||||
catch (UnauthorizedAccessException)
|
||||
{
|
||||
Environment.Exit(-1);
|
||||
}
|
||||
catch
|
||||
{
|
||||
Environment.Exit(-2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public sealed class ServiceUtil
|
||||
{
|
||||
static void Install(bool undo, string[] args)
|
||||
{
|
||||
try
|
||||
{
|
||||
Console.WriteLine(undo ? "uninstalling" : "installing");
|
||||
using (AssemblyInstaller inst = new AssemblyInstaller(typeof(Program).Assembly, args))
|
||||
{
|
||||
IDictionary state = new Hashtable();
|
||||
inst.UseNewContext = true;
|
||||
try
|
||||
{
|
||||
if (undo)
|
||||
{
|
||||
inst.Uninstall(state);
|
||||
}
|
||||
else
|
||||
{
|
||||
inst.Install(state);
|
||||
inst.Commit(state);
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
try
|
||||
{
|
||||
inst.Rollback(state);
|
||||
}
|
||||
catch { }
|
||||
throw;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.Error.WriteLine(ex.Message);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,410 +0,0 @@
|
|||
// **********************************************************************************
|
||||
// CassiniDev - http://cassinidev.codeplex.com
|
||||
//
|
||||
// Copyright (c) 2010 Sky Sanders. All rights reserved.
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
//
|
||||
// This source code is subject to terms and conditions of the Microsoft Public
|
||||
// License (Ms-PL). A copy of the license can be found in the license.txt file
|
||||
// included in this distribution.
|
||||
//
|
||||
// You must not remove this notice, or any other, from this software.
|
||||
//
|
||||
// **********************************************************************************
|
||||
|
||||
#region
|
||||
|
||||
using System;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
using System.Net;
|
||||
using System.Net.Sockets;
|
||||
using System.Text;
|
||||
using System.Web;
|
||||
using CassiniDev.ServerLog;
|
||||
|
||||
#endregion
|
||||
|
||||
namespace CassiniDev
|
||||
{
|
||||
public class Connection : MarshalByRefObject
|
||||
{
|
||||
private const int HttpForbidden = 403;
|
||||
|
||||
private const int HttpOK = 200;
|
||||
|
||||
private readonly MemoryStream _responseContent;
|
||||
|
||||
private readonly Server _server;
|
||||
private LogInfo _requestLog;
|
||||
private LogInfo _responseLog;
|
||||
|
||||
private Socket _socket;
|
||||
|
||||
internal Connection(Server server, Socket socket)
|
||||
{
|
||||
Id = Guid.NewGuid();
|
||||
_responseContent = new MemoryStream();
|
||||
_server = server;
|
||||
_socket = socket;
|
||||
InitializeLogInfo();
|
||||
}
|
||||
|
||||
public bool Connected
|
||||
{
|
||||
get { return _socket.Connected; }
|
||||
}
|
||||
|
||||
public Guid Id { get; private set; }
|
||||
|
||||
public string LocalIP
|
||||
{
|
||||
get
|
||||
{
|
||||
IPEndPoint ep = (IPEndPoint) _socket.LocalEndPoint;
|
||||
return (ep != null && ep.Address != null) ? ep.Address.ToString() : "127.0.0.1";
|
||||
}
|
||||
}
|
||||
|
||||
public string RemoteIP
|
||||
{
|
||||
get
|
||||
{
|
||||
IPEndPoint ep = (IPEndPoint) _socket.RemoteEndPoint;
|
||||
return (ep != null && ep.Address != null) ? ep.Address.ToString() : "127.0.0.1";
|
||||
}
|
||||
}
|
||||
|
||||
public LogInfo RequestLog
|
||||
{
|
||||
get { return _requestLog; }
|
||||
}
|
||||
|
||||
public LogInfo ResponseLog
|
||||
{
|
||||
get { return _responseLog; }
|
||||
}
|
||||
|
||||
public void Close()
|
||||
{
|
||||
FinalizeLogInfo();
|
||||
|
||||
try
|
||||
{
|
||||
_socket.Shutdown(SocketShutdown.Both);
|
||||
_socket.Close();
|
||||
}
|
||||
// ReSharper disable EmptyGeneralCatchClause
|
||||
catch
|
||||
// ReSharper restore EmptyGeneralCatchClause
|
||||
{
|
||||
}
|
||||
finally
|
||||
{
|
||||
_socket = null;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// </summary>
|
||||
public override object InitializeLifetimeService()
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
public void LogRequest(string pathTranslated, string url)
|
||||
{
|
||||
_requestLog.PathTranslated = pathTranslated;
|
||||
|
||||
_requestLog.Url = url;
|
||||
}
|
||||
|
||||
public void LogRequestBody(byte[] content)
|
||||
{
|
||||
_requestLog.Body = content;
|
||||
}
|
||||
|
||||
public void LogRequestHeaders(string headers)
|
||||
{
|
||||
_requestLog.Headers = headers;
|
||||
}
|
||||
|
||||
public byte[] ReadRequestBytes(int maxBytes)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (WaitForRequestBytes() == 0)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
int numBytes = _socket.Available;
|
||||
|
||||
if (numBytes > maxBytes)
|
||||
{
|
||||
numBytes = maxBytes;
|
||||
}
|
||||
|
||||
int numReceived = 0;
|
||||
|
||||
byte[] buffer = new byte[numBytes];
|
||||
|
||||
if (numBytes > 0)
|
||||
{
|
||||
numReceived = _socket.Receive(buffer, 0, numBytes, SocketFlags.None);
|
||||
}
|
||||
|
||||
if (numReceived < numBytes)
|
||||
{
|
||||
byte[] tempBuffer = new byte[numReceived];
|
||||
|
||||
if (numReceived > 0)
|
||||
{
|
||||
Buffer.BlockCopy(buffer, 0, tempBuffer, 0, numReceived);
|
||||
}
|
||||
|
||||
buffer = tempBuffer;
|
||||
}
|
||||
|
||||
return buffer;
|
||||
}
|
||||
catch
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public int WaitForRequestBytes()
|
||||
{
|
||||
int availBytes = 0;
|
||||
|
||||
try
|
||||
{
|
||||
if (_socket.Available == 0)
|
||||
{
|
||||
_socket.Poll(100000, SelectMode.SelectRead);
|
||||
|
||||
if (_socket.Available == 0 && _socket.Connected)
|
||||
{
|
||||
_socket.Poll(30000000, SelectMode.SelectRead);
|
||||
}
|
||||
}
|
||||
|
||||
availBytes = _socket.Available;
|
||||
}
|
||||
// ReSharper disable EmptyGeneralCatchClause
|
||||
catch
|
||||
// ReSharper restore EmptyGeneralCatchClause
|
||||
{
|
||||
}
|
||||
|
||||
return availBytes;
|
||||
}
|
||||
|
||||
public void Write100Continue()
|
||||
{
|
||||
WriteEntireResponseFromString(100, null, null, true);
|
||||
}
|
||||
|
||||
public void WriteBody(byte[] data, int offset, int length)
|
||||
{
|
||||
try
|
||||
{
|
||||
_responseContent.Write(data, 0, data.Length);
|
||||
_socket.Send(data, offset, length, SocketFlags.None);
|
||||
}
|
||||
catch (SocketException)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
public void WriteEntireResponseFromFile(String fileName, bool keepAlive)
|
||||
{
|
||||
if (!File.Exists(fileName))
|
||||
{
|
||||
WriteErrorAndClose(404);
|
||||
return;
|
||||
}
|
||||
|
||||
// Deny the request if the contentType cannot be recognized.
|
||||
|
||||
string contentType = Common.GetContentType(fileName);
|
||||
|
||||
//TODO: i am pretty sure this is unnecessary
|
||||
if (contentType == null)
|
||||
{
|
||||
WriteErrorAndClose(HttpForbidden);
|
||||
return;
|
||||
}
|
||||
|
||||
string contentTypeHeader = "Content-Type: " + contentType + "\r\n";
|
||||
|
||||
bool completed = false;
|
||||
FileStream fs = null;
|
||||
|
||||
try
|
||||
{
|
||||
fs = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.Read);
|
||||
int len = (int) fs.Length;
|
||||
byte[] fileBytes = new byte[len];
|
||||
int bytesRead = fs.Read(fileBytes, 0, len);
|
||||
|
||||
String headers = MakeResponseHeaders(HttpOK, contentTypeHeader, bytesRead, keepAlive);
|
||||
_responseLog.Headers = headers;
|
||||
_responseLog.StatusCode = HttpOK;
|
||||
_socket.Send(Encoding.UTF8.GetBytes(headers));
|
||||
|
||||
_socket.Send(fileBytes, 0, bytesRead, SocketFlags.None);
|
||||
|
||||
completed = true;
|
||||
}
|
||||
catch (SocketException)
|
||||
{
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (!keepAlive || !completed)
|
||||
{
|
||||
Close();
|
||||
}
|
||||
|
||||
if (fs != null)
|
||||
{
|
||||
fs.Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void WriteEntireResponseFromString(int statusCode, String extraHeaders, String body, bool keepAlive)
|
||||
{
|
||||
try
|
||||
{
|
||||
int bodyLength = (body != null) ? Encoding.UTF8.GetByteCount(body) : 0;
|
||||
string headers = MakeResponseHeaders(statusCode, extraHeaders, bodyLength, keepAlive);
|
||||
|
||||
_responseLog.Headers = headers;
|
||||
_responseLog.StatusCode = statusCode;
|
||||
_socket.Send(Encoding.UTF8.GetBytes(headers + body));
|
||||
}
|
||||
catch (SocketException)
|
||||
{
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (!keepAlive)
|
||||
{
|
||||
Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void WriteErrorAndClose(int statusCode, string message)
|
||||
{
|
||||
WriteEntireResponseFromString(statusCode, null, GetErrorResponseBody(statusCode, message), false);
|
||||
}
|
||||
|
||||
public void WriteErrorAndClose(int statusCode)
|
||||
{
|
||||
WriteErrorAndClose(statusCode, null);
|
||||
}
|
||||
|
||||
public void WriteErrorWithExtraHeadersAndKeepAlive(int statusCode, string extraHeaders)
|
||||
{
|
||||
WriteEntireResponseFromString(statusCode, extraHeaders, GetErrorResponseBody(statusCode, null), true);
|
||||
}
|
||||
|
||||
public void WriteHeaders(int statusCode, String extraHeaders)
|
||||
{
|
||||
string headers = MakeResponseHeaders(statusCode, extraHeaders, -1, false);
|
||||
|
||||
_responseLog.Headers = headers;
|
||||
_responseLog.StatusCode = statusCode;
|
||||
|
||||
try
|
||||
{
|
||||
_socket.Send(Encoding.UTF8.GetBytes(headers));
|
||||
}
|
||||
catch (SocketException)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
private void FinalizeLogInfo()
|
||||
{
|
||||
try
|
||||
{
|
||||
_responseLog.Body = _responseContent.ToArray();
|
||||
_responseContent.Dispose();
|
||||
_responseLog.Created = DateTime.Now;
|
||||
_responseLog.Url = _requestLog.Url;
|
||||
_responseLog.PathTranslated = _requestLog.PathTranslated;
|
||||
_responseLog.Identity = _requestLog.Identity;
|
||||
_responseLog.PhysicalPath = _requestLog.PhysicalPath;
|
||||
}
|
||||
// ReSharper disable EmptyGeneralCatchClause
|
||||
catch
|
||||
// ReSharper restore EmptyGeneralCatchClause
|
||||
{
|
||||
// log error to text
|
||||
}
|
||||
}
|
||||
|
||||
private string GetErrorResponseBody(int statusCode, string message)
|
||||
{
|
||||
string body = Messages.FormatErrorMessageBody(statusCode, _server.VirtualPath);
|
||||
|
||||
if (!string.IsNullOrEmpty(message))
|
||||
{
|
||||
body += "\r\n<!--\r\n" + message + "\r\n-->";
|
||||
}
|
||||
|
||||
return body;
|
||||
}
|
||||
|
||||
private void InitializeLogInfo()
|
||||
{
|
||||
_requestLog = new LogInfo
|
||||
{
|
||||
Created = DateTime.Now,
|
||||
ConversationId = Id,
|
||||
RowType = 1,
|
||||
Identity = _server.GetProcessUser(),
|
||||
PhysicalPath = _server.PhysicalPath
|
||||
};
|
||||
|
||||
_responseLog = new LogInfo
|
||||
{
|
||||
ConversationId = Id,
|
||||
RowType = 2
|
||||
};
|
||||
}
|
||||
|
||||
private static string MakeResponseHeaders(int statusCode, string moreHeaders, int contentLength, bool keepAlive)
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
sb.Append("HTTP/1.1 " + statusCode + " " + HttpWorkerRequest.GetStatusDescription(statusCode) + "\r\n");
|
||||
sb.Append("Server: Cassini/" + Messages.VersionString + "\r\n");
|
||||
sb.Append("Date: " + DateTime.Now.ToUniversalTime().ToString("R", DateTimeFormatInfo.InvariantInfo) + "\r\n");
|
||||
|
||||
if (contentLength >= 0)
|
||||
{
|
||||
sb.Append("Content-Length: " + contentLength + "\r\n");
|
||||
}
|
||||
|
||||
if (moreHeaders != null)
|
||||
{
|
||||
sb.Append(moreHeaders);
|
||||
}
|
||||
|
||||
if (!keepAlive)
|
||||
{
|
||||
sb.Append("Connection: Close\r\n");
|
||||
}
|
||||
|
||||
sb.Append("\r\n");
|
||||
|
||||
return sb.ToString();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,296 +0,0 @@
|
|||
// **********************************************************************************
|
||||
// CassiniDev - http://cassinidev.codeplex.com
|
||||
//
|
||||
// Copyright (c) 2010 Sky Sanders. All rights reserved.
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
//
|
||||
// This source code is subject to terms and conditions of the Microsoft Public
|
||||
// License (Ms-PL). A copy of the license can be found in the license.txt file
|
||||
// included in this distribution.
|
||||
//
|
||||
// You must not remove this notice, or any other, from this software.
|
||||
//
|
||||
// **********************************************************************************
|
||||
|
||||
#region
|
||||
|
||||
using System;
|
||||
using System.Globalization;
|
||||
using System.Security.Permissions;
|
||||
using System.Security.Principal;
|
||||
using System.Threading;
|
||||
using System.Web;
|
||||
using System.Web.Hosting;
|
||||
|
||||
#endregion
|
||||
|
||||
namespace CassiniDev
|
||||
{
|
||||
/// <summary>
|
||||
/// 01/01/10 sky: added HttpRuntime.Close to IRegisteredObject.Stop to eliminate
|
||||
/// System.AppDomainUnloadedException when running tests in NUnit GuiRunner.
|
||||
/// reference: http://stackoverflow.com/questions/561402/cassini-webserver-webdev-nunit-and-appdomainunloadedexception
|
||||
/// need to test thoroughly but seems to work just fine with no ill effects
|
||||
/// 01.03.10 sky: removed the HttpRuntime.Close because, even though it tests fine, I am not entirely certain it is in the right place
|
||||
/// and since I am no longer recommending that the server be used as a library in testing (run a console instance in a new process).
|
||||
///
|
||||
/// </summary>
|
||||
internal class Host : MarshalByRefObject, IRegisteredObject
|
||||
{
|
||||
private bool _disableDirectoryListing;
|
||||
|
||||
private string _installPath;
|
||||
|
||||
private string _lowerCasedClientScriptPathWithTrailingSlash;
|
||||
|
||||
private string _lowerCasedVirtualPath;
|
||||
|
||||
private string _lowerCasedVirtualPathWithTrailingSlash;
|
||||
|
||||
private volatile int _pendingCallsCount;
|
||||
|
||||
private string _physicalClientScriptPath;
|
||||
|
||||
private string _physicalPath;
|
||||
|
||||
private int _port;
|
||||
|
||||
private bool _requireAuthentication;
|
||||
|
||||
private Server _server;
|
||||
|
||||
private string _virtualPath;
|
||||
|
||||
public Host()
|
||||
{
|
||||
HostingEnvironment.RegisterObject(this);
|
||||
}
|
||||
|
||||
public bool DisableDirectoryListing
|
||||
{
|
||||
get { return _disableDirectoryListing; }
|
||||
}
|
||||
|
||||
public string InstallPath
|
||||
{
|
||||
get { return _installPath; }
|
||||
}
|
||||
|
||||
public string NormalizedClientScriptPath
|
||||
{
|
||||
get { return _lowerCasedClientScriptPathWithTrailingSlash; }
|
||||
}
|
||||
|
||||
public string NormalizedVirtualPath
|
||||
{
|
||||
get { return _lowerCasedVirtualPathWithTrailingSlash; }
|
||||
}
|
||||
|
||||
public string PhysicalClientScriptPath
|
||||
{
|
||||
get { return _physicalClientScriptPath; }
|
||||
}
|
||||
|
||||
public string PhysicalPath
|
||||
{
|
||||
get { return _physicalPath; }
|
||||
}
|
||||
|
||||
public int Port
|
||||
{
|
||||
get { return _port; }
|
||||
}
|
||||
|
||||
public bool RequireAuthentication
|
||||
{
|
||||
get { return _requireAuthentication; }
|
||||
}
|
||||
|
||||
public string VirtualPath
|
||||
{
|
||||
get { return _virtualPath; }
|
||||
}
|
||||
|
||||
#region IRegisteredObject Members
|
||||
|
||||
void IRegisteredObject.Stop(bool immediate)
|
||||
{
|
||||
// Unhook the Host so Server will process the requests in the new appdomain.
|
||||
|
||||
if (_server != null)
|
||||
{
|
||||
_server.HostStopped();
|
||||
}
|
||||
|
||||
// Make sure all the pending calls complete before this Object is unregistered.
|
||||
WaitForPendingCallsToFinish();
|
||||
|
||||
HostingEnvironment.UnregisterObject(this);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
public void Configure(Server server, int port, string virtualPath, string physicalPath,
|
||||
bool requireAuthentication)
|
||||
{
|
||||
Configure(server, port, virtualPath, physicalPath, requireAuthentication, false);
|
||||
}
|
||||
|
||||
public void Configure(Server server, int port, string virtualPath, string physicalPath)
|
||||
{
|
||||
Configure(server, port, virtualPath, physicalPath, false, false);
|
||||
}
|
||||
|
||||
public void Configure(Server server, int port, string virtualPath, string physicalPath,
|
||||
bool requireAuthentication, bool disableDirectoryListing)
|
||||
{
|
||||
_server = server;
|
||||
|
||||
_port = port;
|
||||
_installPath = null;
|
||||
_virtualPath = virtualPath;
|
||||
_requireAuthentication = requireAuthentication;
|
||||
_disableDirectoryListing = disableDirectoryListing;
|
||||
_lowerCasedVirtualPath = CultureInfo.InvariantCulture.TextInfo.ToLower(_virtualPath);
|
||||
_lowerCasedVirtualPathWithTrailingSlash = virtualPath.EndsWith("/", StringComparison.Ordinal)
|
||||
? virtualPath
|
||||
: virtualPath + "/";
|
||||
_lowerCasedVirtualPathWithTrailingSlash =
|
||||
CultureInfo.InvariantCulture.TextInfo.ToLower(_lowerCasedVirtualPathWithTrailingSlash);
|
||||
_physicalPath = physicalPath;
|
||||
_physicalClientScriptPath = HttpRuntime.AspClientScriptPhysicalPath + "\\";
|
||||
_lowerCasedClientScriptPathWithTrailingSlash =
|
||||
CultureInfo.InvariantCulture.TextInfo.ToLower(HttpRuntime.AspClientScriptVirtualPath + "/");
|
||||
}
|
||||
|
||||
public SecurityIdentifier GetProcessSid()
|
||||
{
|
||||
using (WindowsIdentity identity = new WindowsIdentity(_server.GetProcessToken()))
|
||||
{
|
||||
return identity.User;
|
||||
}
|
||||
}
|
||||
|
||||
public IntPtr GetProcessToken()
|
||||
{
|
||||
new SecurityPermission(PermissionState.Unrestricted).Assert();
|
||||
return _server.GetProcessToken();
|
||||
}
|
||||
|
||||
public string GetProcessUser()
|
||||
{
|
||||
return _server.GetProcessUser();
|
||||
}
|
||||
|
||||
public override object InitializeLifetimeService()
|
||||
{
|
||||
// never expire the license
|
||||
return null;
|
||||
}
|
||||
|
||||
public bool IsVirtualPathAppPath(string path)
|
||||
{
|
||||
if (path == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
path = CultureInfo.InvariantCulture.TextInfo.ToLower(path);
|
||||
return (path == _lowerCasedVirtualPath || path == _lowerCasedVirtualPathWithTrailingSlash);
|
||||
}
|
||||
|
||||
public bool IsVirtualPathInApp(string path, out bool isClientScriptPath)
|
||||
{
|
||||
isClientScriptPath = false;
|
||||
|
||||
if (path == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (_virtualPath == "/" && path.StartsWith("/", StringComparison.Ordinal))
|
||||
{
|
||||
if (path.StartsWith(_lowerCasedClientScriptPathWithTrailingSlash, StringComparison.Ordinal))
|
||||
{
|
||||
isClientScriptPath = true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
path = CultureInfo.InvariantCulture.TextInfo.ToLower(path);
|
||||
|
||||
if (path.StartsWith(_lowerCasedVirtualPathWithTrailingSlash, StringComparison.Ordinal))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
if (path == _lowerCasedVirtualPath)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
if (path.StartsWith(_lowerCasedClientScriptPathWithTrailingSlash, StringComparison.Ordinal))
|
||||
{
|
||||
isClientScriptPath = true;
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public bool IsVirtualPathInApp(String path)
|
||||
{
|
||||
bool isClientScriptPath;
|
||||
return IsVirtualPathInApp(path, out isClientScriptPath);
|
||||
}
|
||||
|
||||
public void ProcessRequest(Connection conn)
|
||||
{
|
||||
// Add a pending call to make sure our thread doesn't get killed
|
||||
AddPendingCall();
|
||||
|
||||
try
|
||||
{
|
||||
new Request(_server, this, conn).Process();
|
||||
}
|
||||
finally
|
||||
{
|
||||
RemovePendingCall();
|
||||
}
|
||||
}
|
||||
|
||||
[SecurityPermission(SecurityAction.Assert, Unrestricted = true)]
|
||||
public void Shutdown()
|
||||
{
|
||||
HostingEnvironment.InitiateShutdown();
|
||||
}
|
||||
|
||||
private void AddPendingCall()
|
||||
{
|
||||
//TODO: investigate this issue - ref var not volitile
|
||||
#pragma warning disable 0420
|
||||
Interlocked.Increment(ref _pendingCallsCount);
|
||||
#pragma warning restore 0420
|
||||
}
|
||||
|
||||
private void RemovePendingCall()
|
||||
{
|
||||
//TODO: investigate this issue - ref var not volitile
|
||||
#pragma warning disable 0420
|
||||
Interlocked.Decrement(ref _pendingCallsCount);
|
||||
#pragma warning restore 0420
|
||||
}
|
||||
|
||||
private void WaitForPendingCallsToFinish()
|
||||
{
|
||||
for (;;)
|
||||
{
|
||||
if (_pendingCallsCount <= 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
Thread.Sleep(250);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,164 +0,0 @@
|
|||
// **********************************************************************************
|
||||
// CassiniDev - http://cassinidev.codeplex.com
|
||||
//
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
//
|
||||
// This source code is subject to terms and conditions of the Microsoft Public
|
||||
// License (Ms-PL). A copy of the license can be found in the license.txt file
|
||||
// included in this distribution.
|
||||
//
|
||||
// You must not remove this notice, or any other, from this software.
|
||||
//
|
||||
// **********************************************************************************
|
||||
|
||||
#region
|
||||
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
using System.Web;
|
||||
|
||||
#endregion
|
||||
|
||||
namespace CassiniDev
|
||||
{
|
||||
/// <summary>
|
||||
/// TODO: get this into resources
|
||||
/// </summary>
|
||||
internal static class Messages
|
||||
{
|
||||
private const string _dirListingDirFormat =
|
||||
@"{0,38:dddd, MMMM dd, yyyy hh:mm tt} <dir> <A href=""{1}/"">{2}</A>
|
||||
";
|
||||
|
||||
private const string _dirListingFileFormat =
|
||||
@"{0,38:dddd, MMMM dd, yyyy hh:mm tt} {1,12:n0} <A href=""{2}"">{3}</A>
|
||||
";
|
||||
|
||||
private const string _dirListingFormat1 =
|
||||
@"<html>
|
||||
<head>
|
||||
<title>Directory Listing -- {0}</title>
|
||||
";
|
||||
|
||||
private const string _dirListingFormat2 =
|
||||
@" </head>
|
||||
<body bgcolor=""white"">
|
||||
|
||||
<h2> <i>Directory Listing -- {0}</i> </h2></span>
|
||||
|
||||
<hr width=100% size=1 color=silver>
|
||||
|
||||
<PRE>
|
||||
";
|
||||
|
||||
private const string _dirListingParentFormat =
|
||||
@"<A href=""{0}"">[To Parent Directory]</A>
|
||||
|
||||
";
|
||||
|
||||
private const string _httpErrorFormat1 =
|
||||
@"<html>
|
||||
<head>
|
||||
<title>{0}</title>
|
||||
";
|
||||
|
||||
private const string _httpStyle =
|
||||
@" <style>
|
||||
body {font-family:""Verdana"";font-weight:normal;font-size: 8pt;color:black;}
|
||||
p {font-family:""Verdana"";font-weight:normal;color:black;margin-top: -5px}
|
||||
b {font-family:""Verdana"";font-weight:bold;color:black;margin-top: -5px}
|
||||
h1 { font-family:""Verdana"";font-weight:normal;font-size:18pt;color:red }
|
||||
h2 { font-family:""Verdana"";font-weight:normal;font-size:14pt;color:maroon }
|
||||
pre {font-family:""Lucida Console"";font-size: 8pt}
|
||||
.marker {font-weight: bold; color: black;text-decoration: none;}
|
||||
.version {color: gray;}
|
||||
.error {margin-bottom: 10px;}
|
||||
.expandable { text-decoration:underline; font-weight:bold; color:navy; cursor:hand; }
|
||||
</style>
|
||||
";
|
||||
|
||||
private static readonly string _dirListingTail =
|
||||
@"</PRE>
|
||||
<hr width=100% size=1 color=silver>
|
||||
|
||||
<b>Version Information:</b> Cassini Web Server " +
|
||||
VersionString + @"
|
||||
|
||||
</font>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
";
|
||||
|
||||
private static readonly string _httpErrorFormat2 =
|
||||
@" </head>
|
||||
<body bgcolor=""white"">
|
||||
|
||||
<span><h1>Server Error in '{0}' Application.<hr width=100% size=1 color=silver></h1>
|
||||
|
||||
<h2> <i>HTTP Error {1} - {2}.</i> </h2></span>
|
||||
|
||||
<hr width=100% size=1 color=silver>
|
||||
|
||||
<b>Version Information:</b> Cassini Web Server " +
|
||||
VersionString + @"
|
||||
|
||||
</font>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
";
|
||||
|
||||
public static string VersionString = typeof (Server).Assembly.GetName().Version.ToString();
|
||||
|
||||
public static string FormatDirectoryListing(string dirPath, string parentPath, FileSystemInfo[] elements)
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
sb.Append(string.Format(_dirListingFormat1, dirPath));
|
||||
sb.Append(_httpStyle);
|
||||
sb.Append(string.Format(_dirListingFormat2, dirPath));
|
||||
|
||||
if (parentPath != null)
|
||||
{
|
||||
if (!parentPath.EndsWith("/"))
|
||||
{
|
||||
parentPath += "/";
|
||||
}
|
||||
|
||||
sb.Append(string.Format(_dirListingParentFormat, parentPath));
|
||||
}
|
||||
|
||||
if (elements != null)
|
||||
{
|
||||
for (int i = 0; i < elements.Length; i++)
|
||||
{
|
||||
if (elements[i] is FileInfo)
|
||||
{
|
||||
FileInfo fi = (FileInfo) elements[i];
|
||||
sb.Append(string.Format(_dirListingFileFormat,
|
||||
fi.LastWriteTime, fi.Length, fi.Name, fi.Name));
|
||||
}
|
||||
else if (elements[i] is DirectoryInfo)
|
||||
{
|
||||
DirectoryInfo di = (DirectoryInfo) elements[i];
|
||||
sb.Append(string.Format(_dirListingDirFormat,
|
||||
di.LastWriteTime, di.Name, di.Name));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sb.Append(_dirListingTail);
|
||||
return sb.ToString();
|
||||
}
|
||||
|
||||
public static string FormatErrorMessageBody(int statusCode, string appName)
|
||||
{
|
||||
string desc = HttpWorkerRequest.GetStatusDescription(statusCode);
|
||||
|
||||
return string.Format(_httpErrorFormat1, desc)
|
||||
+ _httpStyle
|
||||
+ string.Format(_httpErrorFormat2, appName, statusCode, desc);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,179 +0,0 @@
|
|||
// **********************************************************************************
|
||||
// CassiniDev - http://cassinidev.codeplex.com
|
||||
//
|
||||
// Copyright (c) 2010 Sky Sanders. All rights reserved.
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
//
|
||||
// This source code is subject to terms and conditions of the Microsoft Public
|
||||
// License (Ms-PL). A copy of the license can be found in the license.txt file
|
||||
// included in this distribution.
|
||||
//
|
||||
// You must not remove this notice, or any other, from this software.
|
||||
//
|
||||
// **********************************************************************************
|
||||
|
||||
#region
|
||||
|
||||
using System;
|
||||
using System.Security;
|
||||
using System.Security.Principal;
|
||||
|
||||
#endregion
|
||||
|
||||
namespace CassiniDev
|
||||
{
|
||||
[SuppressUnmanagedCodeSecurity]
|
||||
internal sealed class NtlmAuth : IDisposable
|
||||
{
|
||||
private readonly bool _credentialsHandleAcquired;
|
||||
|
||||
private string _blob;
|
||||
|
||||
private bool _completed;
|
||||
|
||||
private Interop.SecHandle _credentialsHandle;
|
||||
|
||||
private Interop.SecBuffer _inputBuffer;
|
||||
private Interop.SecBufferDesc _inputBufferDesc;
|
||||
|
||||
private Interop.SecBuffer _outputBuffer;
|
||||
|
||||
private Interop.SecBufferDesc _outputBufferDesc;
|
||||
|
||||
private Interop.SecHandle _securityContext;
|
||||
|
||||
private bool _securityContextAcquired;
|
||||
|
||||
private uint _securityContextAttributes;
|
||||
|
||||
private SecurityIdentifier _sid;
|
||||
|
||||
private long _timestamp;
|
||||
|
||||
public NtlmAuth()
|
||||
{
|
||||
if (
|
||||
Interop.AcquireCredentialsHandle(null, "NTLM", 1, IntPtr.Zero, IntPtr.Zero, IntPtr.Zero, IntPtr.Zero,
|
||||
ref _credentialsHandle, ref _timestamp) != 0)
|
||||
{
|
||||
throw new InvalidOperationException();
|
||||
}
|
||||
_credentialsHandleAcquired = true;
|
||||
}
|
||||
|
||||
public string Blob
|
||||
{
|
||||
get { return _blob; }
|
||||
}
|
||||
|
||||
public bool Completed
|
||||
{
|
||||
get { return _completed; }
|
||||
}
|
||||
|
||||
public SecurityIdentifier SID
|
||||
{
|
||||
get { return _sid; }
|
||||
}
|
||||
|
||||
#region IDisposable Members
|
||||
|
||||
void IDisposable.Dispose()
|
||||
{
|
||||
FreeUnmanagedResources();
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
public unsafe bool Authenticate(string blobString)
|
||||
{
|
||||
_blob = null;
|
||||
byte[] buffer = Convert.FromBase64String(blobString);
|
||||
byte[] inArray = new byte[0x4000];
|
||||
fixed (void* ptrRef = &_securityContext)
|
||||
{
|
||||
fixed (void* ptrRef2 = &_inputBuffer)
|
||||
{
|
||||
fixed (void* ptrRef3 = &_outputBuffer)
|
||||
{
|
||||
fixed (void* ptrRef4 = buffer)
|
||||
{
|
||||
fixed (void* ptrRef5 = inArray)
|
||||
{
|
||||
IntPtr zero = IntPtr.Zero;
|
||||
if (_securityContextAcquired)
|
||||
{
|
||||
zero = (IntPtr) ptrRef;
|
||||
}
|
||||
_inputBufferDesc.ulVersion = 0;
|
||||
_inputBufferDesc.cBuffers = 1;
|
||||
_inputBufferDesc.pBuffers = (IntPtr) ptrRef2;
|
||||
_inputBuffer.cbBuffer = (uint) buffer.Length;
|
||||
_inputBuffer.BufferType = 2;
|
||||
_inputBuffer.pvBuffer = (IntPtr) ptrRef4;
|
||||
_outputBufferDesc.ulVersion = 0;
|
||||
_outputBufferDesc.cBuffers = 1;
|
||||
_outputBufferDesc.pBuffers = (IntPtr) ptrRef3;
|
||||
_outputBuffer.cbBuffer = (uint) inArray.Length;
|
||||
_outputBuffer.BufferType = 2;
|
||||
_outputBuffer.pvBuffer = (IntPtr) ptrRef5;
|
||||
int num = Interop.AcceptSecurityContext(ref _credentialsHandle, zero,
|
||||
ref _inputBufferDesc, 20,
|
||||
0, ref _securityContext, ref _outputBufferDesc,
|
||||
ref _securityContextAttributes, ref _timestamp);
|
||||
if (num == 0x90312)
|
||||
{
|
||||
_securityContextAcquired = true;
|
||||
_blob = Convert.ToBase64String(inArray, 0, (int) _outputBuffer.cbBuffer);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (num != 0)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
IntPtr phToken = IntPtr.Zero;
|
||||
if (Interop.QuerySecurityContextToken(ref _securityContext, ref phToken) != 0)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
try
|
||||
{
|
||||
using (WindowsIdentity identity = new WindowsIdentity(phToken))
|
||||
{
|
||||
_sid = identity.User;
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
Interop.CloseHandle(phToken);
|
||||
}
|
||||
_completed = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
~NtlmAuth()
|
||||
{
|
||||
FreeUnmanagedResources();
|
||||
}
|
||||
|
||||
private void FreeUnmanagedResources()
|
||||
{
|
||||
if (_securityContextAcquired)
|
||||
{
|
||||
Interop.DeleteSecurityContext(ref _securityContext);
|
||||
}
|
||||
if (_credentialsHandleAcquired)
|
||||
{
|
||||
Interop.FreeCredentialsHandle(ref _credentialsHandle);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load diff
|
@ -1,53 +0,0 @@
|
|||
// **********************************************************************************
|
||||
// CassiniDev - http://cassinidev.codeplex.com
|
||||
//
|
||||
// Copyright (c) 2010 Sky Sanders. All rights reserved.
|
||||
//
|
||||
// This source code is subject to terms and conditions of the Microsoft Public
|
||||
// License (Ms-PL). A copy of the license can be found in the license.txt file
|
||||
// included in this distribution.
|
||||
//
|
||||
// You must not remove this notice, or any other, from this software.
|
||||
//
|
||||
// **********************************************************************************
|
||||
|
||||
#region
|
||||
|
||||
using System;
|
||||
using CassiniDev.ServerLog;
|
||||
|
||||
#endregion
|
||||
|
||||
namespace CassiniDev
|
||||
{
|
||||
public class RequestEventArgs : EventArgs
|
||||
{
|
||||
private readonly Guid _id;
|
||||
|
||||
private readonly LogInfo _requestLog;
|
||||
|
||||
private readonly LogInfo _responseLog;
|
||||
|
||||
public RequestEventArgs(Guid id, LogInfo requestLog, LogInfo responseLog)
|
||||
{
|
||||
_requestLog = requestLog;
|
||||
_responseLog = responseLog;
|
||||
_id = id;
|
||||
}
|
||||
|
||||
public Guid Id
|
||||
{
|
||||
get { return _id; }
|
||||
}
|
||||
|
||||
public LogInfo RequestLog
|
||||
{
|
||||
get { return _requestLog; }
|
||||
}
|
||||
|
||||
public LogInfo ResponseLog
|
||||
{
|
||||
get { return _responseLog; }
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,523 +0,0 @@
|
|||
// **********************************************************************************
|
||||
// CassiniDev - http://cassinidev.codeplex.com
|
||||
//
|
||||
// Copyright (c) 2010 Sky Sanders. All rights reserved.
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
//
|
||||
// This source code is subject to terms and conditions of the Microsoft Public
|
||||
// License (Ms-PL). A copy of the license can be found in the license.txt file
|
||||
// included in this distribution.
|
||||
//
|
||||
// You must not remove this notice, or any other, from this software.
|
||||
//
|
||||
// **********************************************************************************
|
||||
|
||||
#region
|
||||
|
||||
using System;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
using System.Net;
|
||||
using System.Net.Sockets;
|
||||
using System.Reflection;
|
||||
using System.Runtime.Remoting;
|
||||
using System.Security.Permissions;
|
||||
using System.Security.Principal;
|
||||
using System.Threading;
|
||||
using System.Web;
|
||||
using System.Web.Hosting;
|
||||
using CassiniDev.ServerLog;
|
||||
|
||||
#endregion
|
||||
|
||||
namespace CassiniDev
|
||||
{
|
||||
[PermissionSet(SecurityAction.LinkDemand, Name = "Everything"),
|
||||
PermissionSet(SecurityAction.InheritanceDemand, Name = "FullTrust")]
|
||||
public class Server : MarshalByRefObject, IDisposable
|
||||
{
|
||||
private readonly ApplicationManager _appManager;
|
||||
|
||||
private readonly bool _disableDirectoryListing;
|
||||
|
||||
private readonly string _hostName;
|
||||
|
||||
private readonly IPAddress _ipAddress;
|
||||
|
||||
private readonly object _lockObject;
|
||||
|
||||
private readonly string _physicalPath;
|
||||
|
||||
private readonly int _port;
|
||||
private readonly bool _requireAuthentication;
|
||||
private readonly int _timeoutInterval;
|
||||
private readonly string _virtualPath;
|
||||
private bool _disposed;
|
||||
|
||||
private Host _host;
|
||||
|
||||
private IntPtr _processToken;
|
||||
|
||||
private string _processUser;
|
||||
|
||||
private int _requestCount;
|
||||
|
||||
private bool _shutdownInProgress;
|
||||
|
||||
private Socket _socket;
|
||||
|
||||
private Timer _timer;
|
||||
|
||||
public Server(int port, string virtualPath, string physicalPath)
|
||||
: this(port, virtualPath, physicalPath, false, false)
|
||||
{
|
||||
}
|
||||
|
||||
public Server(int port, string physicalPath)
|
||||
: this(port, "/", physicalPath, IPAddress.Loopback)
|
||||
{
|
||||
}
|
||||
|
||||
public Server(string physicalPath)
|
||||
: this(CassiniNetworkUtils.GetAvailablePort(32768, 65535, IPAddress.Loopback, false), physicalPath)
|
||||
{
|
||||
}
|
||||
|
||||
public Server(int port, string virtualPath, string physicalPath, IPAddress ipAddress, string hostName,
|
||||
int timeout, bool requireAuthentication)
|
||||
: this(port, virtualPath, physicalPath, ipAddress, hostName, timeout, requireAuthentication, false)
|
||||
{
|
||||
}
|
||||
|
||||
public Server(int port, string virtualPath, string physicalPath, bool requireAuthentication)
|
||||
: this(port, virtualPath, physicalPath, requireAuthentication, false)
|
||||
{
|
||||
}
|
||||
|
||||
public Server(int port, string virtualPath, string physicalPath, IPAddress ipAddress, string hostName)
|
||||
: this(port, virtualPath, physicalPath, ipAddress, hostName, 0, false, false)
|
||||
{
|
||||
}
|
||||
|
||||
public Server(int port, string virtualPath, string physicalPath, IPAddress ipAddress, string hostName,
|
||||
int timeout, bool requireAuthentication, bool disableDirectoryListing)
|
||||
: this(port, virtualPath, physicalPath, requireAuthentication, disableDirectoryListing)
|
||||
{
|
||||
_ipAddress = ipAddress;
|
||||
_hostName = hostName;
|
||||
_timeoutInterval = timeout;
|
||||
}
|
||||
|
||||
public Server(int port, string virtualPath, string physicalPath, IPAddress ipAddress)
|
||||
: this(port, virtualPath, physicalPath, ipAddress, null, 0, false, false)
|
||||
{
|
||||
}
|
||||
|
||||
public Server(int port, string virtualPath, string physicalPath, bool requireAuthentication,
|
||||
bool disableDirectoryListing)
|
||||
{
|
||||
_ipAddress = IPAddress.Loopback;
|
||||
_requireAuthentication = requireAuthentication;
|
||||
_disableDirectoryListing = disableDirectoryListing;
|
||||
_lockObject = new object();
|
||||
_port = port;
|
||||
_virtualPath = virtualPath;
|
||||
_physicalPath = Path.GetFullPath(physicalPath);
|
||||
_physicalPath = _physicalPath.EndsWith("\\", StringComparison.Ordinal)
|
||||
? _physicalPath
|
||||
: _physicalPath + "\\";
|
||||
_appManager = ApplicationManager.GetApplicationManager();
|
||||
ObtainProcessToken();
|
||||
}
|
||||
|
||||
public Server(string physicalPath, bool requireAuthentication)
|
||||
: this(
|
||||
CassiniNetworkUtils.GetAvailablePort(32768, 65535, IPAddress.Loopback, false), "/", physicalPath,
|
||||
requireAuthentication)
|
||||
{
|
||||
}
|
||||
|
||||
public Server(int port, string virtualPath, string physicalPath, IPAddress ipAddress, string hostName,
|
||||
int timeout)
|
||||
: this(port, virtualPath, physicalPath, ipAddress, hostName, timeout, false, false)
|
||||
{
|
||||
}
|
||||
|
||||
public bool DisableDirectoryListing
|
||||
{
|
||||
get { return _disableDirectoryListing; }
|
||||
}
|
||||
|
||||
public bool RequireAuthentication
|
||||
{
|
||||
get { return _requireAuthentication; }
|
||||
}
|
||||
|
||||
public int TimeoutInterval
|
||||
{
|
||||
get { return _timeoutInterval; }
|
||||
}
|
||||
|
||||
public string HostName
|
||||
{
|
||||
get { return _hostName; }
|
||||
}
|
||||
|
||||
public IPAddress IPAddress
|
||||
{
|
||||
get { return _ipAddress; }
|
||||
}
|
||||
|
||||
public string PhysicalPath
|
||||
{
|
||||
get { return _physicalPath; }
|
||||
}
|
||||
|
||||
public int Port
|
||||
{
|
||||
get { return _port; }
|
||||
}
|
||||
|
||||
public string RootUrl
|
||||
{
|
||||
get
|
||||
{
|
||||
string hostname = _hostName;
|
||||
if (string.IsNullOrEmpty(_hostName))
|
||||
{
|
||||
if (_ipAddress.Equals(IPAddress.Loopback) || _ipAddress.Equals(IPAddress.IPv6Loopback) ||
|
||||
_ipAddress.Equals(IPAddress.Any) || _ipAddress.Equals(IPAddress.IPv6Any))
|
||||
{
|
||||
hostname = "localhost";
|
||||
}
|
||||
else
|
||||
{
|
||||
hostname = _ipAddress.ToString();
|
||||
}
|
||||
}
|
||||
|
||||
return _port != 80
|
||||
?
|
||||
String.Format("http://{0}:{1}{2}", hostname, _port, _virtualPath)
|
||||
:
|
||||
//FIX: #12017 - TODO:TEST
|
||||
string.Format("http://{0}{1}", hostname, _virtualPath);
|
||||
}
|
||||
}
|
||||
|
||||
public string VirtualPath
|
||||
{
|
||||
get { return _virtualPath; }
|
||||
}
|
||||
|
||||
#region IDisposable Members
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
if (!_disposed)
|
||||
{
|
||||
ShutDown();
|
||||
}
|
||||
_disposed = true;
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
public event EventHandler<RequestEventArgs> RequestComplete;
|
||||
|
||||
public event EventHandler TimedOut;
|
||||
|
||||
public IntPtr GetProcessToken()
|
||||
{
|
||||
return _processToken;
|
||||
}
|
||||
|
||||
public string GetProcessUser()
|
||||
{
|
||||
return _processUser;
|
||||
}
|
||||
|
||||
public void HostStopped()
|
||||
{
|
||||
_host = null;
|
||||
}
|
||||
|
||||
[SecurityPermission(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.Infrastructure)]
|
||||
public override object InitializeLifetimeService()
|
||||
{
|
||||
// never expire the license
|
||||
return null;
|
||||
}
|
||||
|
||||
// called at the end of request processing
|
||||
// to disconnect the remoting proxy for Connection object
|
||||
// and allow GC to pick it up
|
||||
/// <summary>
|
||||
/// </summary>
|
||||
/// <param name="conn"></param>
|
||||
public void OnRequestEnd(Connection conn)
|
||||
{
|
||||
try
|
||||
{
|
||||
OnRequestComplete(conn.Id, conn.RequestLog.Clone(), conn.ResponseLog.Clone());
|
||||
}
|
||||
catch
|
||||
{
|
||||
// swallow - we don't want consumer killing the server
|
||||
}
|
||||
RemotingServices.Disconnect(conn);
|
||||
DecrementRequestCount();
|
||||
}
|
||||
|
||||
public void Start()
|
||||
{
|
||||
_socket = CreateSocketBindAndListen(AddressFamily.InterNetwork, _ipAddress, _port);
|
||||
|
||||
//start the timer
|
||||
DecrementRequestCount();
|
||||
|
||||
ThreadPool.QueueUserWorkItem(delegate
|
||||
{
|
||||
while (!_shutdownInProgress)
|
||||
{
|
||||
try
|
||||
{
|
||||
Socket acceptedSocket = _socket.Accept();
|
||||
|
||||
ThreadPool.QueueUserWorkItem(delegate
|
||||
{
|
||||
if (!_shutdownInProgress)
|
||||
{
|
||||
Connection conn = new Connection(this, acceptedSocket);
|
||||
|
||||
if (conn.WaitForRequestBytes() == 0)
|
||||
{
|
||||
conn.WriteErrorAndClose(400);
|
||||
return;
|
||||
}
|
||||
|
||||
Host host = GetHost();
|
||||
|
||||
if (host == null)
|
||||
{
|
||||
conn.WriteErrorAndClose(500);
|
||||
return;
|
||||
}
|
||||
|
||||
IncrementRequestCount();
|
||||
host.ProcessRequest(conn);
|
||||
}
|
||||
});
|
||||
}
|
||||
catch
|
||||
{
|
||||
Thread.Sleep(100);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
~Server()
|
||||
{
|
||||
Dispose();
|
||||
}
|
||||
|
||||
|
||||
private static Socket CreateSocketBindAndListen(AddressFamily family, IPAddress address, int port)
|
||||
{
|
||||
Socket socket = new Socket(family, SocketType.Stream, ProtocolType.Tcp);
|
||||
socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);
|
||||
socket.Bind(new IPEndPoint(address, port));
|
||||
socket.Listen((int) SocketOptionName.MaxConnections);
|
||||
return socket;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="virtualPath"></param>
|
||||
/// <param name="physicalPath"></param>
|
||||
/// <param name="hostType"></param>
|
||||
/// <returns></returns>
|
||||
/// <remarks>This is Dmitry's hack to enable running outside of GAC</remarks>
|
||||
private object CreateWorkerAppDomainWithHost(string virtualPath, string physicalPath, Type hostType)
|
||||
{
|
||||
// this creates worker app domain in a way that host doesn't need to be in GAC or bin
|
||||
// using BuildManagerHost via private reflection
|
||||
string uniqueAppString = string.Concat(virtualPath, physicalPath).ToLowerInvariant();
|
||||
string appId = (uniqueAppString.GetHashCode()).ToString("x", CultureInfo.InvariantCulture);
|
||||
|
||||
// create BuildManagerHost in the worker app domain
|
||||
//ApplicationManager appManager = ApplicationManager.GetApplicationManager();
|
||||
Type buildManagerHostType = typeof (HttpRuntime).Assembly.GetType("System.Web.Compilation.BuildManagerHost");
|
||||
IRegisteredObject buildManagerHost = _appManager.CreateObject(appId, buildManagerHostType, virtualPath,
|
||||
physicalPath, false);
|
||||
|
||||
// call BuildManagerHost.RegisterAssembly to make Host type loadable in the worker app domain
|
||||
buildManagerHostType.InvokeMember("RegisterAssembly",
|
||||
BindingFlags.Instance | BindingFlags.InvokeMethod | BindingFlags.NonPublic,
|
||||
null,
|
||||
buildManagerHost,
|
||||
new object[] {hostType.Assembly.FullName, hostType.Assembly.Location});
|
||||
|
||||
// create Host in the worker app domain
|
||||
return _appManager.CreateObject(appId, hostType, virtualPath, physicalPath, false);
|
||||
}
|
||||
|
||||
private void DecrementRequestCount()
|
||||
{
|
||||
_requestCount--;
|
||||
|
||||
if (_requestCount < 1)
|
||||
{
|
||||
_requestCount = 0;
|
||||
|
||||
if (_timeoutInterval > 0)
|
||||
{
|
||||
_timer = new Timer(TimeOut, null, _timeoutInterval, Timeout.Infinite);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private Host GetHost()
|
||||
{
|
||||
if (_shutdownInProgress)
|
||||
return null;
|
||||
Host host = _host;
|
||||
if (host == null)
|
||||
{
|
||||
#if NET40
|
||||
object obj2 = new object();
|
||||
bool flag = false;
|
||||
try
|
||||
{
|
||||
Monitor.Enter(obj2 = _lockObject, ref flag);
|
||||
host = _host;
|
||||
if (host == null)
|
||||
{
|
||||
host = (Host)CreateWorkerAppDomainWithHost(_virtualPath, _physicalPath, typeof(Host));
|
||||
host.Configure(this, _port, _virtualPath, _physicalPath, _requireAuthentication, _disableDirectoryListing);
|
||||
_host = host;
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (flag)
|
||||
{
|
||||
Monitor.Exit(obj2);
|
||||
}
|
||||
}
|
||||
#else
|
||||
|
||||
lock (_lockObject)
|
||||
{
|
||||
host = _host;
|
||||
if (host == null)
|
||||
{
|
||||
host = (Host) CreateWorkerAppDomainWithHost(_virtualPath, _physicalPath, typeof (Host));
|
||||
host.Configure(this, _port, _virtualPath, _physicalPath, _requireAuthentication,
|
||||
_disableDirectoryListing);
|
||||
_host = host;
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
return host;
|
||||
}
|
||||
|
||||
private void IncrementRequestCount()
|
||||
{
|
||||
_requestCount++;
|
||||
_timer = null;
|
||||
}
|
||||
|
||||
|
||||
private void ObtainProcessToken()
|
||||
{
|
||||
if (Interop.ImpersonateSelf(2))
|
||||
{
|
||||
Interop.OpenThreadToken(Interop.GetCurrentThread(), 0xf01ff, true, ref _processToken);
|
||||
Interop.RevertToSelf();
|
||||
// ReSharper disable PossibleNullReferenceException
|
||||
_processUser = WindowsIdentity.GetCurrent().Name;
|
||||
// ReSharper restore PossibleNullReferenceException
|
||||
}
|
||||
}
|
||||
|
||||
private void OnRequestComplete(Guid id, LogInfo requestLog, LogInfo responseLog)
|
||||
{
|
||||
EventHandler<RequestEventArgs> complete = RequestComplete;
|
||||
|
||||
if (complete != null)
|
||||
{
|
||||
complete(this, new RequestEventArgs(id, requestLog, responseLog));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void ShutDown()
|
||||
{
|
||||
_shutdownInProgress = true;
|
||||
|
||||
try
|
||||
{
|
||||
if (_socket != null)
|
||||
{
|
||||
_socket.Close();
|
||||
}
|
||||
}
|
||||
// ReSharper disable EmptyGeneralCatchClause
|
||||
catch
|
||||
// ReSharper restore EmptyGeneralCatchClause
|
||||
{
|
||||
}
|
||||
finally
|
||||
{
|
||||
_socket = null;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
if (_host != null)
|
||||
{
|
||||
_host.Shutdown();
|
||||
}
|
||||
|
||||
while (_host != null)
|
||||
{
|
||||
Thread.Sleep(100);
|
||||
}
|
||||
}
|
||||
// ReSharper disable EmptyGeneralCatchClause
|
||||
catch
|
||||
// ReSharper restore EmptyGeneralCatchClause
|
||||
{
|
||||
}
|
||||
finally
|
||||
{
|
||||
_host = null;
|
||||
}
|
||||
}
|
||||
|
||||
private void TimeOut(object ignored)
|
||||
{
|
||||
TimeOut();
|
||||
}
|
||||
|
||||
public void TimeOut()
|
||||
{
|
||||
ShutDown();
|
||||
OnTimeOut();
|
||||
}
|
||||
|
||||
private void OnTimeOut()
|
||||
{
|
||||
EventHandler handler = TimedOut;
|
||||
if (handler != null) handler(this, EventArgs.Empty);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,73 +0,0 @@
|
|||
// **********************************************************************************
|
||||
// CassiniDev - http://cassinidev.codeplex.com
|
||||
//
|
||||
// Copyright (c) 2010 Sky Sanders. All rights reserved.
|
||||
//
|
||||
// This source code is subject to terms and conditions of the Microsoft Public
|
||||
// License (Ms-PL). A copy of the license can be found in the license.txt file
|
||||
// included in this distribution.
|
||||
//
|
||||
// You must not remove this notice, or any other, from this software.
|
||||
//
|
||||
// **********************************************************************************
|
||||
|
||||
#region
|
||||
|
||||
using System;
|
||||
|
||||
#endregion
|
||||
|
||||
namespace CassiniDev.ServerLog
|
||||
{
|
||||
/// <summary>
|
||||
/// TODO: get rid of status code and url in the database and simply parse the headers
|
||||
/// </summary>
|
||||
[Serializable]
|
||||
public class LogInfo : ICloneable
|
||||
{
|
||||
public byte[] Body { get; set; }
|
||||
|
||||
public Guid ConversationId { get; set; }
|
||||
|
||||
public DateTime Created { get; set; }
|
||||
|
||||
public string Exception { get; set; }
|
||||
|
||||
public string Headers { get; set; }
|
||||
|
||||
public string Identity { get; set; }
|
||||
|
||||
public string PathTranslated { get; set; }
|
||||
|
||||
public string PhysicalPath { get; set; }
|
||||
|
||||
public long RowId { get; set; }
|
||||
|
||||
public long RowType { get; set; }
|
||||
|
||||
public long? StatusCode { get; set; }
|
||||
|
||||
public string Url { get; set; }
|
||||
|
||||
#region ICloneable Members
|
||||
|
||||
object ICloneable.Clone()
|
||||
{
|
||||
return MemberwiseClone();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
public LogInfo Clone()
|
||||
{
|
||||
LogInfo result = (LogInfo) ((ICloneable) this).Clone();
|
||||
if (Body != null)
|
||||
{
|
||||
result.Body = new byte[Body.Length];
|
||||
Body.CopyTo(result.Body, 0);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,100 +0,0 @@
|
|||
// **********************************************************************************
|
||||
// CassiniDev - http://cassinidev.codeplex.com
|
||||
//
|
||||
// Copyright (c) 2010 Sky Sanders. All rights reserved.
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
//
|
||||
// This source code is subject to terms and conditions of the Microsoft Public
|
||||
// License (Ms-PL). A copy of the license can be found in the license.txt file
|
||||
// included in this distribution.
|
||||
//
|
||||
// You must not remove this notice, or any other, from this software.
|
||||
//
|
||||
// **********************************************************************************
|
||||
|
||||
#region
|
||||
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Specialized;
|
||||
|
||||
#endregion
|
||||
|
||||
namespace CassiniDev.UIComponents
|
||||
{
|
||||
public sealed class CommandLine
|
||||
{
|
||||
#region Fields
|
||||
|
||||
private readonly string[] _arguments;
|
||||
|
||||
private readonly bool _showHelp;
|
||||
private IDictionary _options;
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
public CommandLine(string[] args)
|
||||
{
|
||||
ArrayList list = new ArrayList();
|
||||
for (int i = 0; i < args.Length; i++)
|
||||
{
|
||||
char ch = args[i][0];
|
||||
if ((ch != '/') && (ch != '-'))
|
||||
{
|
||||
list.Add(args[i]);
|
||||
}
|
||||
else
|
||||
{
|
||||
int index = args[i].IndexOf(':');
|
||||
if (index == -1)
|
||||
{
|
||||
string strA = args[i].Substring(1);
|
||||
if ((string.Compare(strA, "help", StringComparison.OrdinalIgnoreCase) == 0) || strA.Equals("?"))
|
||||
{
|
||||
_showHelp = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
Options[strA] = string.Empty;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Options[args[i].Substring(1, index - 1)] = args[i].Substring(index + 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
_arguments = (string[]) list.ToArray(typeof (string));
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Properties
|
||||
|
||||
public string[] Arguments
|
||||
{
|
||||
get { return _arguments; }
|
||||
}
|
||||
|
||||
public IDictionary Options
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_options == null)
|
||||
{
|
||||
_options = new HybridDictionary(true);
|
||||
}
|
||||
return _options;
|
||||
}
|
||||
}
|
||||
|
||||
public bool ShowHelp
|
||||
{
|
||||
get { return _showHelp; }
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
|
@ -1,443 +0,0 @@
|
|||
// **********************************************************************************
|
||||
// CassiniDev - http://cassinidev.codeplex.com
|
||||
//
|
||||
// Copyright (c) 2010 Sky Sanders. All rights reserved.
|
||||
//
|
||||
// This source code is subject to terms and conditions of the Microsoft Public
|
||||
// License (Ms-PL). A copy of the license can be found in the license.txt file
|
||||
// included in this distribution.
|
||||
//
|
||||
// You must not remove this notice, or any other, from this software.
|
||||
//
|
||||
// **********************************************************************************
|
||||
|
||||
#region
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Net;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
|
||||
#endregion
|
||||
|
||||
namespace CassiniDev
|
||||
{
|
||||
/// <summary>
|
||||
/// Command line arguments
|
||||
///
|
||||
/// fixed 5/24/10 - quoted embedded spaces in ToString
|
||||
/// </summary>
|
||||
public class CommandLineArguments
|
||||
{
|
||||
#region Properties
|
||||
|
||||
[Argument(ArgumentType.AtMostOnce, ShortName = "ah", DefaultValue = false,
|
||||
HelpText = "If true add entry to Windows hosts file. Requires write permissions to hosts file.")] public
|
||||
bool AddHost;
|
||||
|
||||
[Argument(ArgumentType.AtMostOnce, ShortName = "a", LongName = "path",
|
||||
HelpText = "Physical location of content.")] public string
|
||||
ApplicationPath;
|
||||
|
||||
[Argument(ArgumentType.AtMostOnce, LongName = "log", DefaultValue = false, HelpText = "Enable logging.")] public
|
||||
bool EnableLogging;
|
||||
|
||||
[Argument(ArgumentType.AtMostOnce, ShortName = "h", LongName = "host",
|
||||
HelpText = "Host name used for app root url. Optional unless AddHost is true.")] public string HostName;
|
||||
|
||||
[Argument(ArgumentType.AtMostOnce, ShortName = "i", LongName = "ip",
|
||||
HelpText = "IP address to listen to. Ignored if IPMode != Specific")] public string IPAddress;
|
||||
|
||||
[Argument(ArgumentType.AtMostOnce, ShortName = "im", DefaultValue = IPMode.Loopback, HelpText = "",
|
||||
LongName = "ipMode")] public
|
||||
IPMode IPMode;
|
||||
|
||||
[Argument(ArgumentType.AtMostOnce, ShortName = "v6", DefaultValue = false,
|
||||
HelpText = "If IPMode 'Any' or 'LoopBack' are specified use the V6 address", LongName = "ipV6")] public bool
|
||||
IPv6;
|
||||
|
||||
|
||||
[Argument(ArgumentType.AtMostOnce, LongName = "nodirlist", DefaultValue = false,
|
||||
HelpText = "Disable diretory listing")] public bool Nodirlist;
|
||||
|
||||
[Argument(ArgumentType.AtMostOnce, LongName = "ntlm", DefaultValue = false, HelpText = "Run as current identity"
|
||||
)] public bool Ntlm;
|
||||
|
||||
|
||||
[Argument(ArgumentType.AtMostOnce, ShortName = "p", LongName = "port",
|
||||
HelpText = "Port to listen to. Ignored if PortMode=FirstAvailable.", DefaultValue = 0)] public int Port;
|
||||
|
||||
[Argument(ArgumentType.AtMostOnce, ShortName = "pm", HelpText = "", LongName = "portMode",
|
||||
DefaultValue = PortMode.FirstAvailable)] public PortMode PortMode;
|
||||
|
||||
[Argument(ArgumentType.AtMostOnce, ShortName = "pre", DefaultValue = 65535, LongName = "highPort",
|
||||
HelpText = "End of port range. Ignored if PortMode != FirstAvailable")] public int PortRangeEnd = 9000;
|
||||
|
||||
[Argument(ArgumentType.AtMostOnce, ShortName = "prs", DefaultValue = 32768, LongName = "lowPort",
|
||||
HelpText = "Start of port range. Ignored if PortMode != FirstAvailable")] public int PortRangeStart =
|
||||
8080;
|
||||
|
||||
[DefaultArgument(ArgumentType.AtMostOnce, DefaultValue = RunMode.Server, HelpText = "[Server|Hostsfile]")] public RunMode RunMode;
|
||||
[Argument(ArgumentType.AtMostOnce, LongName = "silent", DefaultValue = false, HelpText = "Fail silently")] public bool Silent;
|
||||
|
||||
[Argument(ArgumentType.AtMostOnce, ShortName = "t", DefaultValue = 0, LongName = "timeout",
|
||||
HelpText = "Length of time, in ms, to wait for a request before stopping the server. 0 = no timeout.")] public int TimeOut;
|
||||
|
||||
[Argument(ArgumentType.AtMostOnce, ShortName = "v", LongName = "vpath", DefaultValue = "/",
|
||||
HelpText = "Optional. default value '/'"
|
||||
)] public string VirtualPath = "/";
|
||||
|
||||
[Argument(ArgumentType.AtMostOnce, ShortName = "vs", DefaultValue = false,
|
||||
HelpText = "If true run in Visual Studio Development Server mode - readonly UI with single option to quit.."
|
||||
)] public
|
||||
bool VisualStudio;
|
||||
|
||||
[Argument(ArgumentType.AtMostOnce, ShortName = "w", DefaultValue = 0, LongName = "wait",
|
||||
HelpText =
|
||||
"Length of time, in ms, to wait for a specific port before throwing an exception or exiting. 0 = don't wait."
|
||||
)] public int WaitForPort;
|
||||
|
||||
#endregion
|
||||
|
||||
public string[] ToArgs()
|
||||
{
|
||||
List<string> result = new List<string>();
|
||||
if (RunMode != RunMode.Server)
|
||||
{
|
||||
result.Add(string.Format("{0}", RunMode));
|
||||
}
|
||||
if (!string.IsNullOrEmpty(ApplicationPath))
|
||||
{
|
||||
result.Add(string.Format("/a:{0}", ApplicationPath.Contains("") ? String.Format("\"{0}\"", ApplicationPath) : ApplicationPath));
|
||||
}
|
||||
result.Add(string.Format("/v:{0}", VirtualPath.Contains("") ? String.Format("\"{0}\"", VirtualPath) : VirtualPath));
|
||||
|
||||
if (!string.IsNullOrEmpty(HostName))
|
||||
{
|
||||
result.Add(string.Format("/h:{0}", HostName.Contains("") ? String.Format("\"{0}\"", HostName) : HostName));
|
||||
}
|
||||
if (AddHost)
|
||||
{
|
||||
result.Add("/ah");
|
||||
}
|
||||
|
||||
if (IPMode != IPMode.Loopback)
|
||||
{
|
||||
result.Add(string.Format("/im:{0}", IPMode));
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(IPAddress))
|
||||
{
|
||||
result.Add(string.Format("/i:{0}", IPAddress));
|
||||
}
|
||||
|
||||
if (IPv6)
|
||||
{
|
||||
result.Add("/v6");
|
||||
}
|
||||
|
||||
if (VisualStudio)
|
||||
{
|
||||
result.Add("/vs");
|
||||
}
|
||||
|
||||
if (PortMode != PortMode.FirstAvailable)
|
||||
{
|
||||
result.Add(string.Format("/pm:{0}", PortMode));
|
||||
}
|
||||
|
||||
if (Port != 0)
|
||||
{
|
||||
result.Add(string.Format("/p:{0}", Port));
|
||||
}
|
||||
|
||||
if (PortRangeStart != 32768)
|
||||
{
|
||||
result.Add(string.Format("/prs:{0}", PortRangeStart));
|
||||
}
|
||||
if (PortRangeEnd != 65535)
|
||||
{
|
||||
result.Add(string.Format("/pre:{0}", PortRangeEnd));
|
||||
}
|
||||
if (TimeOut > 0)
|
||||
{
|
||||
result.Add(string.Format("/t:{0}", TimeOut));
|
||||
}
|
||||
if (WaitForPort > 0)
|
||||
{
|
||||
result.Add(string.Format("/w:{0}", WaitForPort));
|
||||
}
|
||||
|
||||
if (Ntlm)
|
||||
{
|
||||
result.Add("/ntlm");
|
||||
}
|
||||
if (Silent)
|
||||
{
|
||||
result.Add("/silent");
|
||||
}
|
||||
if (Nodirlist)
|
||||
{
|
||||
result.Add("/nodirlist");
|
||||
}
|
||||
if (EnableLogging)
|
||||
{
|
||||
result.Add("/log");
|
||||
}
|
||||
|
||||
return result.ToArray();
|
||||
}
|
||||
public override string ToString()
|
||||
{
|
||||
return string.Join(" ", ToArgs());
|
||||
//StringBuilder sb = new StringBuilder();
|
||||
//if (RunMode != RunMode.Server)
|
||||
//{
|
||||
// sb.AppendFormat("{0}", RunMode);
|
||||
//}
|
||||
//if (!string.IsNullOrEmpty(ApplicationPath))
|
||||
//{
|
||||
// sb.AppendFormat(" /a:{0}", ApplicationPath.Contains(" ") ? String.Format("\"{0}\"", ApplicationPath) : ApplicationPath);
|
||||
//}
|
||||
//sb.AppendFormat(" /v:{0}", VirtualPath.Contains(" ") ? String.Format("\"{0}\"", VirtualPath) : VirtualPath);
|
||||
|
||||
//if (!string.IsNullOrEmpty(HostName))
|
||||
//{
|
||||
// sb.AppendFormat(" /h:{0}", HostName.Contains(" ") ? String.Format("\"{0}\"", HostName) : HostName);
|
||||
//}
|
||||
//if (AddHost)
|
||||
//{
|
||||
// sb.Append(" /ah");
|
||||
//}
|
||||
|
||||
//if (IPMode != IPMode.Loopback)
|
||||
//{
|
||||
// sb.AppendFormat(" /im:{0}", IPMode);
|
||||
//}
|
||||
|
||||
//if (!string.IsNullOrEmpty(IPAddress))
|
||||
//{
|
||||
// sb.AppendFormat(" /i:{0}", IPAddress);
|
||||
//}
|
||||
|
||||
//if (IPv6)
|
||||
//{
|
||||
// sb.Append(" /v6");
|
||||
//}
|
||||
|
||||
//if (VisualStudio)
|
||||
//{
|
||||
// sb.Append(" /vs");
|
||||
//}
|
||||
|
||||
//if (PortMode != PortMode.FirstAvailable)
|
||||
//{
|
||||
// sb.AppendFormat(" /pm:{0}", PortMode);
|
||||
//}
|
||||
|
||||
//if (Port != 0)
|
||||
//{
|
||||
// sb.AppendFormat(" /p:{0}", Port);
|
||||
//}
|
||||
|
||||
//if (PortRangeStart != 32768)
|
||||
//{
|
||||
// sb.AppendFormat(" /prs:{0}", PortRangeStart);
|
||||
//}
|
||||
//if (PortRangeEnd != 65535)
|
||||
//{
|
||||
// sb.AppendFormat(" /pre:{0}", PortRangeEnd);
|
||||
//}
|
||||
//if (TimeOut > 0)
|
||||
//{
|
||||
// sb.AppendFormat(" /t:{0}", TimeOut);
|
||||
//}
|
||||
//if (WaitForPort > 0)
|
||||
//{
|
||||
// sb.AppendFormat(" /w:{0}", WaitForPort);
|
||||
//}
|
||||
|
||||
//if (Ntlm)
|
||||
//{
|
||||
// sb.Append(" /ntlm");
|
||||
//}
|
||||
//if (Silent)
|
||||
//{
|
||||
// sb.Append(" /silent");
|
||||
//}
|
||||
//if (Nodirlist)
|
||||
//{
|
||||
// sb.Append(" /nodirlist");
|
||||
//}
|
||||
//if (EnableLogging)
|
||||
//{
|
||||
// sb.Append(" /log");
|
||||
//}
|
||||
//return sb.ToString().Trim();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// </summary>
|
||||
internal void Validate()
|
||||
{
|
||||
if (string.IsNullOrEmpty(ApplicationPath))
|
||||
{
|
||||
throw new CassiniException(SR.ErrApplicationPathIsNull, ErrorField.ApplicationPath);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
ApplicationPath = Path.GetFullPath(ApplicationPath);
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
if (!Directory.Exists(ApplicationPath))
|
||||
{
|
||||
throw new CassiniException(SR.WebdevDirNotExist, ErrorField.ApplicationPath);
|
||||
}
|
||||
|
||||
ApplicationPath = ApplicationPath.Trim('\"').TrimEnd('\\');
|
||||
|
||||
|
||||
if (!string.IsNullOrEmpty(VirtualPath))
|
||||
{
|
||||
VirtualPath = VirtualPath.Trim('\"');
|
||||
VirtualPath = VirtualPath.Trim('/');
|
||||
VirtualPath = "/" + VirtualPath;
|
||||
}
|
||||
else
|
||||
{
|
||||
VirtualPath = "/";
|
||||
}
|
||||
|
||||
|
||||
if (!VirtualPath.StartsWith("/"))
|
||||
{
|
||||
VirtualPath = "/" + VirtualPath;
|
||||
}
|
||||
|
||||
|
||||
if (AddHost && string.IsNullOrEmpty(HostName))
|
||||
{
|
||||
throw new CassiniException(SR.ErrInvalidHostname, ErrorField.HostName);
|
||||
}
|
||||
|
||||
|
||||
IPAddress = ParseIP(IPMode, IPv6, IPAddress).ToString();
|
||||
|
||||
|
||||
if (VisualStudio) // then STOP HERE.
|
||||
{
|
||||
// It is fortunate that in order to provide api parity with WebDev
|
||||
// we do not need to port scan. Visual Studio balks and refuses to
|
||||
// attach if we monkey around and open ports.
|
||||
Port = Port == 0 ? 80 : Port;
|
||||
PortMode = PortMode.Specific;
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
switch (PortMode)
|
||||
{
|
||||
case PortMode.FirstAvailable:
|
||||
|
||||
if (PortRangeStart < 1)
|
||||
{
|
||||
throw new CassiniException(SR.ErrInvalidPortRangeValue, ErrorField.PortRangeStart);
|
||||
}
|
||||
|
||||
if (PortRangeEnd < 1)
|
||||
{
|
||||
throw new CassiniException(SR.ErrInvalidPortRangeValue, ErrorField.PortRangeEnd);
|
||||
}
|
||||
|
||||
if (PortRangeStart > PortRangeEnd)
|
||||
{
|
||||
throw new CassiniException(SR.ErrPortRangeEndMustBeEqualOrGreaterThanPortRangeSta,
|
||||
ErrorField.PortRange);
|
||||
}
|
||||
Port = CassiniNetworkUtils.GetAvailablePort(PortRangeStart, PortRangeEnd,
|
||||
System.Net.IPAddress.Parse(IPAddress), true);
|
||||
|
||||
if (Port == 0)
|
||||
{
|
||||
throw new CassiniException(SR.ErrNoAvailablePortFound, ErrorField.PortRange);
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case PortMode.Specific:
|
||||
|
||||
if ((Port < 1) || (Port > 0xffff))
|
||||
{
|
||||
throw new CassiniException(SR.ErrPortOutOfRange, ErrorField.Port);
|
||||
}
|
||||
|
||||
|
||||
// start waiting....
|
||||
//TODO: design this hack away.... why am I waiting in a validation method?
|
||||
int now = Environment.TickCount;
|
||||
|
||||
// wait until either 1) the specified port is available or 2) the specified amount of time has passed
|
||||
while (Environment.TickCount < now + WaitForPort &&
|
||||
CassiniNetworkUtils.GetAvailablePort(Port, Port, System.Net.IPAddress.Parse(IPAddress), true) !=
|
||||
Port)
|
||||
{
|
||||
Thread.Sleep(100);
|
||||
}
|
||||
|
||||
// is the port available?
|
||||
if (CassiniNetworkUtils.GetAvailablePort(Port, Port, System.Net.IPAddress.Parse(IPAddress), true) !=
|
||||
Port)
|
||||
{
|
||||
throw new CassiniException(SR.ErrPortIsInUse, ErrorField.Port);
|
||||
}
|
||||
|
||||
|
||||
break;
|
||||
default:
|
||||
|
||||
throw new CassiniException(SR.ErrInvalidPortMode, ErrorField.None);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Converts CommandLineArgument values to an IP address if possible.
|
||||
/// Throws Exception if not.
|
||||
/// </summary>
|
||||
/// <param name="ipmode"></param>
|
||||
/// <param name="v6"></param>
|
||||
/// <param name="ipString"></param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="CassiniException">If IPMode is invalid</exception>
|
||||
/// <exception cref="CassiniException">If IPMode is 'Specific' and ipString is invalid</exception>
|
||||
public static IPAddress ParseIP(IPMode ipmode, bool v6, string ipString)
|
||||
{
|
||||
IPAddress ip;
|
||||
switch (ipmode)
|
||||
{
|
||||
case IPMode.Loopback:
|
||||
|
||||
ip = v6 ? System.Net.IPAddress.IPv6Loopback : System.Net.IPAddress.Loopback;
|
||||
break;
|
||||
case IPMode.Any:
|
||||
ip = v6 ? System.Net.IPAddress.IPv6Any : System.Net.IPAddress.Any;
|
||||
break;
|
||||
case IPMode.Specific:
|
||||
|
||||
if (!System.Net.IPAddress.TryParse(ipString, out ip))
|
||||
{
|
||||
throw new CassiniException(SR.ErrInvalidIPAddress, ErrorField.IPAddress);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
throw new CassiniException(SR.ErrInvalidIPMode, ErrorField.None);
|
||||
}
|
||||
return ip;
|
||||
}
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -1,118 +0,0 @@
|
|||
// **********************************************************************************
|
||||
// CassiniDev - http://cassinidev.codeplex.com
|
||||
//
|
||||
// Copyright (c) 2010 Sky Sanders. All rights reserved.
|
||||
//
|
||||
// This source code is subject to terms and conditions of the Microsoft Public
|
||||
// License (Ms-PL). A copy of the license can be found in the license.txt file
|
||||
// included in this distribution.
|
||||
//
|
||||
// You must not remove this notice, or any other, from this software.
|
||||
//
|
||||
// **********************************************************************************
|
||||
|
||||
#region
|
||||
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Reflection;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
#endregion
|
||||
|
||||
namespace CassiniDev
|
||||
{
|
||||
public static class HostsFile
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="ipAddress"></param>
|
||||
/// <param name="hostname"></param>
|
||||
/// <returns></returns>
|
||||
public static int AddHostEntry(string ipAddress, string hostname)
|
||||
{
|
||||
try
|
||||
{
|
||||
SetHostsEntry(true, ipAddress, hostname);
|
||||
return 0;
|
||||
}
|
||||
// ReSharper disable EmptyGeneralCatchClause
|
||||
catch
|
||||
// ReSharper restore EmptyGeneralCatchClause
|
||||
{
|
||||
}
|
||||
string executablePath = Assembly.GetExecutingAssembly().Location;
|
||||
return StartElevated(executablePath, string.Format("Hostsfile /ah+ /h:{0} /i:{1}", hostname, ipAddress));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="ipAddress"></param>
|
||||
/// <param name="hostname"></param>
|
||||
/// <returns></returns>
|
||||
public static int RemoveHostEntry(string ipAddress, string hostname)
|
||||
{
|
||||
try
|
||||
{
|
||||
SetHostsEntry(false, ipAddress, hostname);
|
||||
return 0;
|
||||
}
|
||||
// ReSharper disable EmptyGeneralCatchClause
|
||||
catch
|
||||
// ReSharper restore EmptyGeneralCatchClause
|
||||
{
|
||||
}
|
||||
string executablePath = Assembly.GetExecutingAssembly().Location;
|
||||
return StartElevated(executablePath, string.Format("Hostsfile /ah- /h:{0} /i:{1}", hostname, ipAddress));
|
||||
}
|
||||
|
||||
private static void SetHostsEntry(bool addHost, string ipAddress, string hostname)
|
||||
{
|
||||
// limitation: while windows allows mulitple entries for a single host, we currently allow only one
|
||||
string windir = Environment.GetEnvironmentVariable("SystemRoot") ?? @"c:\windows";
|
||||
string hostsFilePath = Path.Combine(windir, @"system32\drivers\etc\hosts");
|
||||
|
||||
string hostsFileContent = File.ReadAllText(hostsFilePath);
|
||||
|
||||
hostsFileContent = Regex.Replace(hostsFileContent,
|
||||
string.Format(@"\r\n^\s*[\d\w\.:]+\s{0}\s#\sadded\sby\scassini$",
|
||||
hostname), "", RegexOptions.Multiline);
|
||||
|
||||
if (addHost)
|
||||
{
|
||||
hostsFileContent += string.Format("\r\n{0} {1} # added by cassini", ipAddress, hostname);
|
||||
}
|
||||
|
||||
File.WriteAllText(hostsFilePath, hostsFileContent);
|
||||
}
|
||||
|
||||
private static int StartElevated(string filename, string args)
|
||||
{
|
||||
ProcessStartInfo startInfo = new ProcessStartInfo
|
||||
{
|
||||
UseShellExecute = true,
|
||||
WorkingDirectory = Environment.CurrentDirectory,
|
||||
FileName = filename,
|
||||
Arguments = args,
|
||||
Verb = "runas"
|
||||
};
|
||||
try
|
||||
{
|
||||
Process p = Process.Start(startInfo);
|
||||
if (p != null)
|
||||
{
|
||||
p.WaitForExit();
|
||||
return p.ExitCode;
|
||||
}
|
||||
return -2;
|
||||
}
|
||||
catch
|
||||
{
|
||||
return -2;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,160 +0,0 @@
|
|||
// **********************************************************************************
|
||||
// CassiniDev - http://cassinidev.codeplex.com
|
||||
//
|
||||
// Copyright (c) 2010 Sky Sanders. All rights reserved.
|
||||
//
|
||||
// This source code is subject to terms and conditions of the Microsoft Public
|
||||
// License (Ms-PL). A copy of the license can be found in the license.txt file
|
||||
// included in this distribution.
|
||||
//
|
||||
// You must not remove this notice, or any other, from this software.
|
||||
//
|
||||
// **********************************************************************************
|
||||
|
||||
#region
|
||||
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
#endregion
|
||||
|
||||
namespace CassiniDev
|
||||
{
|
||||
internal static class Interop
|
||||
{
|
||||
#region Structs
|
||||
|
||||
[DllImport("SECUR32.DLL", CharSet = CharSet.Unicode)]
|
||||
public static extern int AcceptSecurityContext(ref SecHandle phCredential, IntPtr phContext,
|
||||
ref SecBufferDesc pInput, uint fContextReq, uint TargetDataRep,
|
||||
ref SecHandle phNewContext, ref SecBufferDesc pOutput,
|
||||
ref uint pfContextAttr, ref long ptsTimeStamp);
|
||||
|
||||
[DllImport("SECUR32.DLL", CharSet = CharSet.Unicode)]
|
||||
public static extern int AcquireCredentialsHandle(string pszPrincipal, string pszPackage, uint fCredentialUse,
|
||||
IntPtr pvLogonID, IntPtr pAuthData, IntPtr pGetKeyFn,
|
||||
IntPtr pvGetKeyArgument, ref SecHandle phCredential,
|
||||
ref long ptsExpiry);
|
||||
|
||||
[DllImport("KERNEL32.DLL", CharSet = CharSet.Unicode)]
|
||||
public static extern int CloseHandle(IntPtr phToken);
|
||||
|
||||
[DllImport("SECUR32.DLL", CharSet = CharSet.Unicode)]
|
||||
public static extern int DeleteSecurityContext(ref SecHandle phContext);
|
||||
|
||||
/// <summary>
|
||||
/// FIX: #12506
|
||||
/// </summary>
|
||||
[DllImport("urlmon.dll", CharSet = CharSet.Unicode, ExactSpelling = true, SetLastError = false)]
|
||||
public static extern int FindMimeFromData(IntPtr pBC, [MarshalAs(UnmanagedType.LPWStr)] string pwzUrl,
|
||||
[MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.I1,
|
||||
SizeParamIndex = 3)] byte[] pBuffer, int cbSize,
|
||||
[MarshalAs(UnmanagedType.LPWStr)] string pwzMimeProposed,
|
||||
int dwMimeFlags, out IntPtr ppwzMimeOut, int dwReserved);
|
||||
|
||||
[DllImport("SECUR32.DLL", CharSet = CharSet.Unicode)]
|
||||
public static extern int FreeCredentialsHandle(ref SecHandle phCredential);
|
||||
|
||||
[DllImport("kernel32.dll", EntryPoint = "GetConsoleScreenBufferInfo", SetLastError = true,
|
||||
CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
|
||||
public static extern int GetConsoleScreenBufferInfo(int hConsoleOutput,
|
||||
ref CONSOLE_SCREEN_BUFFER_INFO lpConsoleScreenBufferInfo);
|
||||
|
||||
[DllImport("KERNEL32.DLL", SetLastError = true)]
|
||||
public static extern IntPtr GetCurrentThread();
|
||||
|
||||
[DllImport("kernel32.dll", EntryPoint = "GetStdHandle", SetLastError = true, CharSet = CharSet.Auto,
|
||||
CallingConvention = CallingConvention.StdCall)]
|
||||
public static extern int GetStdHandle(int nStdHandle);
|
||||
|
||||
[DllImport("ADVAPI32.DLL", SetLastError = true)]
|
||||
public static extern bool ImpersonateSelf(int level);
|
||||
|
||||
[DllImport("ADVAPI32.DLL", SetLastError = true)]
|
||||
public static extern int OpenThreadToken(IntPtr thread, int access, bool openAsSelf, ref IntPtr hToken);
|
||||
|
||||
[DllImport("SECUR32.DLL", CharSet = CharSet.Unicode)]
|
||||
public static extern int QuerySecurityContextToken(ref SecHandle phContext, ref IntPtr phToken);
|
||||
|
||||
[DllImport("ADVAPI32.DLL", SetLastError = true)]
|
||||
public static extern int RevertToSelf();
|
||||
|
||||
#region Nested type: CONSOLE_SCREEN_BUFFER_INFO
|
||||
|
||||
public struct CONSOLE_SCREEN_BUFFER_INFO
|
||||
{
|
||||
internal COORD dwCursorPosition;
|
||||
internal COORD dwMaximumWindowSize;
|
||||
internal COORD dwSize;
|
||||
internal SMALL_RECT srWindow;
|
||||
internal Int16 wAttributes;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Nested type: COORD
|
||||
|
||||
public struct COORD
|
||||
{
|
||||
internal Int16 x;
|
||||
internal Int16 y;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Nested type: SecBuffer
|
||||
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
public struct SecBuffer
|
||||
{
|
||||
// ReSharper disable InconsistentNaming
|
||||
public uint cbBuffer;
|
||||
public uint BufferType;
|
||||
public IntPtr pvBuffer;
|
||||
// ReSharper restore InconsistentNaming
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Nested type: SecBufferDesc
|
||||
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
public struct SecBufferDesc
|
||||
{
|
||||
// ReSharper disable InconsistentNaming
|
||||
public uint ulVersion;
|
||||
public uint cBuffers;
|
||||
public IntPtr pBuffers;
|
||||
// ReSharper restore InconsistentNaming
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Nested type: SecHandle
|
||||
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
public struct SecHandle
|
||||
{
|
||||
// ReSharper disable InconsistentNaming
|
||||
public IntPtr dwLower;
|
||||
public IntPtr dwUpper;
|
||||
// ReSharper restore InconsistentNaming
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Nested type: SMALL_RECT
|
||||
|
||||
public struct SMALL_RECT
|
||||
{
|
||||
internal Int16 Bottom;
|
||||
internal Int16 Left;
|
||||
internal Int16 Right;
|
||||
internal Int16 Top;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
|
@ -1,221 +0,0 @@
|
|||
// **********************************************************************************
|
||||
// CassiniDev - http://cassinidev.codeplex.com
|
||||
//
|
||||
// Copyright (c) 2010 Sky Sanders. All rights reserved.
|
||||
//
|
||||
// This source code is subject to terms and conditions of the Microsoft Public
|
||||
// License (Ms-PL). A copy of the license can be found in the license.txt file
|
||||
// included in this distribution.
|
||||
//
|
||||
// You must not remove this notice, or any other, from this software.
|
||||
//
|
||||
// **********************************************************************************
|
||||
|
||||
#region
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Net.NetworkInformation;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading;
|
||||
|
||||
#endregion
|
||||
|
||||
namespace CassiniDev
|
||||
{
|
||||
public static class CassiniNetworkUtils
|
||||
{
|
||||
public static IPAddress[] GetLocalAddresses()
|
||||
{
|
||||
string strHostName = Dns.GetHostName();
|
||||
IPHostEntry ipEntry = Dns.GetHostEntry(strHostName);
|
||||
return ipEntry.AddressList;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns first available port on the specified IP address.
|
||||
/// The port scan excludes ports that are open on ANY loopback adapter.
|
||||
///
|
||||
/// If the address upon which a port is requested is an 'ANY' address all
|
||||
/// ports that are open on ANY IP are excluded.
|
||||
/// </summary>
|
||||
/// <param name="rangeStart"></param>
|
||||
/// <param name="rangeEnd"></param>
|
||||
/// <param name="ip">The IP address upon which to search for available port.</param>
|
||||
/// <param name="includeIdlePorts">If true includes ports in TIME_WAIT state in results.
|
||||
/// TIME_WAIT state is typically cool down period for recently released ports.</param>
|
||||
/// <returns></returns>
|
||||
public static int GetAvailablePort(int rangeStart, int rangeEnd, IPAddress ip, bool includeIdlePorts)
|
||||
{
|
||||
IPGlobalProperties ipProps = IPGlobalProperties.GetIPGlobalProperties();
|
||||
|
||||
// if the ip we want a port on is an 'any' or loopback port we need to exclude all ports that are active on any IP
|
||||
Func<IPAddress, bool> isIpAnyOrLoopBack = i => IPAddress.Any.Equals(i) ||
|
||||
IPAddress.IPv6Any.Equals(i) ||
|
||||
IPAddress.Loopback.Equals(i) ||
|
||||
IPAddress.IPv6Loopback.
|
||||
Equals(i);
|
||||
// get all active ports on specified IP.
|
||||
List<ushort> excludedPorts = new List<ushort>();
|
||||
|
||||
// if a port is open on an 'any' or 'loopback' interface then include it in the excludedPorts
|
||||
excludedPorts.AddRange(from n in ipProps.GetActiveTcpConnections()
|
||||
where
|
||||
n.LocalEndPoint.Port >= rangeStart &&
|
||||
n.LocalEndPoint.Port <= rangeEnd && (
|
||||
isIpAnyOrLoopBack(ip) ||
|
||||
n.LocalEndPoint.Address.Equals(ip) ||
|
||||
isIpAnyOrLoopBack(n.LocalEndPoint.Address)) &&
|
||||
(!includeIdlePorts || n.State != TcpState.TimeWait)
|
||||
select (ushort) n.LocalEndPoint.Port);
|
||||
|
||||
excludedPorts.AddRange(from n in ipProps.GetActiveTcpListeners()
|
||||
where n.Port >= rangeStart && n.Port <= rangeEnd && (
|
||||
isIpAnyOrLoopBack(ip) ||
|
||||
n.Address.Equals(ip) ||
|
||||
isIpAnyOrLoopBack(n.Address))
|
||||
select (ushort) n.Port);
|
||||
|
||||
excludedPorts.AddRange(from n in ipProps.GetActiveUdpListeners()
|
||||
where n.Port >= rangeStart && n.Port <= rangeEnd && (
|
||||
isIpAnyOrLoopBack(ip) ||
|
||||
n.Address.Equals(ip) ||
|
||||
isIpAnyOrLoopBack(n.Address))
|
||||
select (ushort) n.Port);
|
||||
|
||||
excludedPorts.Sort();
|
||||
|
||||
for (int port = rangeStart; port <= rangeEnd; port++)
|
||||
{
|
||||
if (!excludedPorts.Contains((ushort) port))
|
||||
{
|
||||
return port;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
///<summary>
|
||||
/// Returns the first IPV4 address available for this host.
|
||||
/// This is typically an external IP
|
||||
///</summary>
|
||||
///<returns></returns>
|
||||
public static IPAddress GetExternalIPV4()
|
||||
{
|
||||
return GetIPAdresses().ToList()
|
||||
.FirstOrDefault(i => i.ToString().IndexOf(":") == -1);
|
||||
}
|
||||
|
||||
///<summary>
|
||||
///</summary>
|
||||
///<returns></returns>
|
||||
public static string GetHostName()
|
||||
{
|
||||
return Dns.GetHostName();
|
||||
}
|
||||
|
||||
///<summary>
|
||||
/// Gets all IP addresses for this host
|
||||
///</summary>
|
||||
public static IPAddress[] GetIPAdresses()
|
||||
{
|
||||
return Dns.GetHostEntry(GetHostName()).AddressList;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gently polls specified IP:Port to determine if it is available.
|
||||
/// </summary>
|
||||
/// <param name="ipAddress"></param>
|
||||
/// <param name="port"></param>
|
||||
public static bool IsPortAvailable(IPAddress ipAddress, int port)
|
||||
{
|
||||
bool portAvailable = false;
|
||||
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
portAvailable = GetAvailablePort(port, port, ipAddress, true) == port;
|
||||
if (portAvailable)
|
||||
{
|
||||
break;
|
||||
}
|
||||
// be a little patient and wait for the port if necessary,
|
||||
// the previous occupant may have just vacated
|
||||
Thread.Sleep(100);
|
||||
}
|
||||
return portAvailable;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Combine the RootUrl of the running web application with the relative url
|
||||
/// specified.
|
||||
/// </summary>
|
||||
/// <param name="rootUrl"></param>
|
||||
/// <param name="relativeUrl"></param>
|
||||
/// <returns></returns>
|
||||
public static string NormalizeUrl(string rootUrl, string relativeUrl)
|
||||
{
|
||||
relativeUrl = relativeUrl.TrimStart(new[] {'/'});
|
||||
|
||||
if (!rootUrl.EndsWith("/"))
|
||||
{
|
||||
rootUrl += "/";
|
||||
}
|
||||
return new Uri(rootUrl + relativeUrl).ToString();
|
||||
}
|
||||
|
||||
///<summary>
|
||||
///</summary>
|
||||
///<param name="ipString"></param>
|
||||
///<returns></returns>
|
||||
public static IPAddress ParseIPString(string ipString)
|
||||
{
|
||||
if (string.IsNullOrEmpty(ipString))
|
||||
{
|
||||
ipString = "loopback";
|
||||
}
|
||||
ipString = ipString.Trim().ToLower();
|
||||
switch (ipString)
|
||||
{
|
||||
case "any":
|
||||
return IPAddress.Any;
|
||||
case "loopback":
|
||||
return IPAddress.Loopback;
|
||||
case "ipv6any":
|
||||
return IPAddress.IPv6Any;
|
||||
case "ipv6loopback":
|
||||
return IPAddress.IPv6Loopback;
|
||||
default:
|
||||
IPAddress result;
|
||||
IPAddress.TryParse(ipString, out result);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>
|
||||
/// Hostnames are composed of series of labels concatenated with dots, as are all domain names[1].
|
||||
/// For example, "en.wikipedia.org" is a hostname. Each label must be between 1 and 63 characters long,
|
||||
/// and the entire hostname has a maximum of 255 characters.</para>
|
||||
/// <para>
|
||||
/// The Internet standards (Request for Comments) for protocols mandate that component hostname
|
||||
/// labels may contain only the ASCII letters 'a' through 'z' (in a case-insensitive manner), the digits
|
||||
/// '0' through '9', and the hyphen. The original specification of hostnames in RFC 952, mandated that
|
||||
/// labels could not start with a digit or with a hyphen, and must not end with a hyphen. However, a
|
||||
/// subsequent specification (RFC 1123) permitted hostname labels to start with digits. No other symbols,
|
||||
/// punctuation characters, or blank spaces are permitted.</para>
|
||||
/// </summary>
|
||||
/// <param name="hostname"></param>
|
||||
/// <returns></returns>
|
||||
/// http://en.wikipedia.org/wiki/Hostname#Restrictions_on_valid_host_names
|
||||
public static bool ValidateHostName(string hostname)
|
||||
{
|
||||
Regex hostnameRx =
|
||||
new Regex(
|
||||
@"^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z]|[A-Za-z][A-Za-z0-9\-]*[A-Za-z0-9])$");
|
||||
return hostnameRx.IsMatch(hostname);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,37 +0,0 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Configuration.Install;
|
||||
using System.Linq;
|
||||
using System.ServiceProcess;
|
||||
using System.Text;
|
||||
using System.Configuration;
|
||||
namespace CassiniDev
|
||||
{
|
||||
|
||||
|
||||
[RunInstaller(true)]
|
||||
public sealed class MyServiceInstallerProcess : ServiceProcessInstaller
|
||||
{
|
||||
public MyServiceInstallerProcess()
|
||||
{
|
||||
this.Account = ServiceAccount.NetworkService;
|
||||
|
||||
}
|
||||
}
|
||||
[RunInstaller(true)]
|
||||
public sealed class MyServiceInstaller : ServiceInstaller
|
||||
{
|
||||
public MyServiceInstaller()
|
||||
{
|
||||
|
||||
|
||||
this.Description = "CassiniDev";
|
||||
this.DisplayName = "CassiniDev";
|
||||
this.ServiceName = "CassiniDev";
|
||||
this.StartType = System.ServiceProcess.ServiceStartMode.Automatic;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -1,386 +0,0 @@
|
|||
// **********************************************************************************
|
||||
// CassiniDev - http://cassinidev.codeplex.com
|
||||
//
|
||||
// Copyright (c) Sky Sanders. All rights reserved.
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
//
|
||||
// This source code is subject to terms and conditions of the Microsoft Public
|
||||
// License (Ms-PL). A copy of the license can be found in the license.htm file
|
||||
// included in this distribution.
|
||||
//
|
||||
// You must not remove this notice, or any other, from this software.
|
||||
//
|
||||
// **********************************************************************************
|
||||
|
||||
#region
|
||||
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Configuration.Install;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
using System.Reflection;
|
||||
using System.Threading;
|
||||
using System.Windows.Forms;
|
||||
using CassiniDev.UIComponents;
|
||||
|
||||
#endregion
|
||||
|
||||
namespace CassiniDev
|
||||
{
|
||||
public sealed class Program
|
||||
{
|
||||
|
||||
|
||||
[STAThread, LoaderOptimization(LoaderOptimization.MultiDomainHost)]
|
||||
public static int Main(string[] cmdLine)
|
||||
{
|
||||
Server server = null;
|
||||
|
||||
if (cmdLine != null && cmdLine.Length > 0)
|
||||
{
|
||||
bool isVS = Assembly.GetExecutingAssembly()
|
||||
.GetName().Name.StartsWith("WEBDEV.WEBSERVER", StringComparison.OrdinalIgnoreCase);
|
||||
|
||||
CommandLineArguments args = new CommandLineArguments();
|
||||
|
||||
if (!CommandLineParser.ParseArgumentsWithUsage(cmdLine, args))
|
||||
{
|
||||
if (isVS)
|
||||
{
|
||||
// will display vs usage and return a code that VS understands
|
||||
return ValidateForVS(cmdLine);
|
||||
}
|
||||
|
||||
string usage = CommandLineParser.ArgumentsUsage(typeof(CommandLineArguments), 120);
|
||||
ShowMessage(usage, MessageBoxIcon.Asterisk);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
if (args.RunMode == RunMode.Hostsfile)
|
||||
{
|
||||
SetHostsFile(args);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
// now we validate for us.
|
||||
int returnValue = -1;
|
||||
string message = null;
|
||||
|
||||
try
|
||||
{
|
||||
args.VisualStudio = isVS;
|
||||
args.Validate();
|
||||
}
|
||||
catch (CassiniException ex)
|
||||
{
|
||||
switch (ex.Message)
|
||||
{
|
||||
case SR.ErrNoAvailablePortFound:
|
||||
case SR.ErrApplicationPathIsNull:
|
||||
message = ex.Message;
|
||||
break;
|
||||
case SR.ErrInvalidIPMode:
|
||||
message = SR.GetString(ex.Message, args.IPMode);
|
||||
break;
|
||||
case SR.ErrInvalidPortMode:
|
||||
message = SR.GetString(ex.Message, args.PortMode);
|
||||
break;
|
||||
case SR.ErrPortIsInUse:
|
||||
message = SR.GetString(ex.Message, args.Port);
|
||||
break;
|
||||
case SR.ErrPortRangeEndMustBeEqualOrGreaterThanPortRangeSta:
|
||||
message = SR.GetString(ex.Message, args.PortRangeStart, args.PortRangeEnd);
|
||||
break;
|
||||
case SR.ErrInvalidPortRangeValue:
|
||||
message = SR.GetString(ex.Message,
|
||||
ex.Field == ErrorField.PortRangeStart
|
||||
? "start " + args.PortRangeStart
|
||||
: "end " + args.PortRangeEnd);
|
||||
break;
|
||||
case SR.ErrInvalidHostname:
|
||||
message = SR.GetString(ex.Message, args.HostName);
|
||||
break;
|
||||
case SR.WebdevDirNotExist:
|
||||
message = SR.GetString(ex.Message, args.ApplicationPath);
|
||||
returnValue = -2;
|
||||
break;
|
||||
case SR.ErrPortOutOfRange:
|
||||
message = SR.GetString(ex.Message, args.Port);
|
||||
break;
|
||||
}
|
||||
|
||||
if (!args.Silent)
|
||||
{
|
||||
ShowMessage(message, MessageBoxIcon.Asterisk);
|
||||
}
|
||||
return returnValue;
|
||||
}
|
||||
catch (Exception exception)
|
||||
{
|
||||
if (!args.Silent)
|
||||
{
|
||||
ShowMessage(SR.GetString(SR.ErrFailedToStartCassiniDevServerOnPortError, args.Port,
|
||||
exception.Message, exception.HelpLink), MessageBoxIcon.Error);
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
server = new Server(args.Port, args.VirtualPath, args.ApplicationPath, args.Ntlm, args.Nodirlist);
|
||||
|
||||
|
||||
if (args.AddHost)
|
||||
{
|
||||
HostsFile.AddHostEntry(server.IPAddress.ToString(), server.HostName);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
server.Start();
|
||||
}
|
||||
catch (Exception exception)
|
||||
{
|
||||
if (!args.Silent)
|
||||
{
|
||||
ShowMessage(SR.GetString(SR.ErrFailedToStartCassiniDevServerOnPortError, args.Port,
|
||||
exception.Message, exception.HelpLink), MessageBoxIcon.Error);
|
||||
}
|
||||
return -4;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
using (FormView form = new FormView(server))
|
||||
{
|
||||
Application.Run(form);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
private static void ShowMessage(string msg, MessageBoxIcon icon)
|
||||
{
|
||||
if (Thread.CurrentThread.CurrentUICulture.TextInfo.IsRightToLeft)
|
||||
{
|
||||
MessageBox.Show(msg, SR.GetString(SR.WebdevName), MessageBoxButtons.OK, icon,
|
||||
MessageBoxDefaultButton.Button1, MessageBoxOptions.RtlReading);
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show(msg, SR.GetString(SR.WebdevName), MessageBoxButtons.OK, icon);
|
||||
}
|
||||
}
|
||||
|
||||
private static void ShowMessage(string msg)
|
||||
{
|
||||
if (Thread.CurrentThread.CurrentUICulture.TextInfo.IsRightToLeft)
|
||||
{
|
||||
MessageBox.Show(msg, SR.GetString(SR.WebdevName), MessageBoxButtons.OK, MessageBoxIcon.Hand,
|
||||
MessageBoxDefaultButton.Button1, MessageBoxOptions.RtlReading);
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show(msg, SR.GetString(SR.WebdevName), MessageBoxButtons.OK, MessageBoxIcon.Hand);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// TODO: update usage will all arguments and present on a legible substrate.
|
||||
/// </summary>
|
||||
private static void ShowUsage()
|
||||
{
|
||||
ShowMessage(SR.GetString(SR.WebdevUsagestr1) + SR.GetString(SR.WebdevUsagestr2) +
|
||||
SR.GetString(SR.WebdevUsagestr3) +
|
||||
SR.GetString(SR.WebdevUsagestr4) + SR.GetString(SR.WebdevUsagestr5) +
|
||||
SR.GetString(SR.WebdevUsagestr6) +
|
||||
SR.GetString(SR.WebdevUsagestr7), MessageBoxIcon.Asterisk);
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Keeping the VS validation to return codes that it likes.
|
||||
/// </summary>
|
||||
/// <param name="args"></param>
|
||||
/// <returns></returns>
|
||||
private static int ValidateForVS(string[] args)
|
||||
{
|
||||
CommandLine line = new CommandLine(args);
|
||||
|
||||
bool flag = line.Options["silent"] != null;
|
||||
|
||||
if (!flag && line.ShowHelp)
|
||||
{
|
||||
ShowUsage();
|
||||
return 0;
|
||||
}
|
||||
|
||||
string virtualPath = (string)line.Options["vpath"];
|
||||
|
||||
if (virtualPath != null)
|
||||
{
|
||||
virtualPath = virtualPath.Trim();
|
||||
}
|
||||
|
||||
// we are being a bit generous here as CommandLineArguments can handle these sitchiashuns
|
||||
if (string.IsNullOrEmpty(virtualPath))
|
||||
{
|
||||
virtualPath = "/";
|
||||
}
|
||||
|
||||
else if (!virtualPath.StartsWith("/", StringComparison.Ordinal))
|
||||
{
|
||||
if (!flag)
|
||||
{
|
||||
ShowUsage();
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
string path = (string)line.Options["path"];
|
||||
|
||||
if (path != null)
|
||||
{
|
||||
path = path.Trim();
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(path))
|
||||
{
|
||||
if (!flag)
|
||||
{
|
||||
ShowUsage();
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
path = Path.GetFullPath(path);
|
||||
|
||||
if (!Directory.Exists(path))
|
||||
{
|
||||
if (!flag)
|
||||
{
|
||||
ShowMessage(SR.GetString(SR.WebdevDirNotExist, new object[] { path }));
|
||||
}
|
||||
return -2;
|
||||
}
|
||||
|
||||
int port = 0;
|
||||
|
||||
string s = (string)line.Options["port"];
|
||||
|
||||
if (s != null)
|
||||
{
|
||||
s = s.Trim();
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(s))
|
||||
{
|
||||
try
|
||||
{
|
||||
port = int.Parse(s, CultureInfo.InvariantCulture);
|
||||
if ((port < 1) || (port > 0xffff))
|
||||
{
|
||||
if (!flag)
|
||||
{
|
||||
ShowUsage();
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
}
|
||||
catch
|
||||
{
|
||||
if (!flag)
|
||||
{
|
||||
ShowMessage(SR.GetString(SR.WebdevInvalidPort, new object[] { s }));
|
||||
}
|
||||
return -3;
|
||||
}
|
||||
}
|
||||
|
||||
if (!flag)
|
||||
{
|
||||
ShowUsage();
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
private static void SetHostsFile(CommandLineArguments sargs)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (sargs.AddHost)
|
||||
{
|
||||
HostsFile.AddHostEntry(sargs.IPAddress, sargs.HostName);
|
||||
}
|
||||
else
|
||||
{
|
||||
HostsFile.RemoveHostEntry(sargs.IPAddress, sargs.HostName);
|
||||
}
|
||||
}
|
||||
catch (UnauthorizedAccessException)
|
||||
{
|
||||
Environment.Exit(-1);
|
||||
}
|
||||
catch
|
||||
{
|
||||
Environment.Exit(-2);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
internal sealed class ServiceUtil
|
||||
{
|
||||
/// <summary>
|
||||
/// http://stackoverflow.com/questions/1449994/inno-setup-for-windows-service
|
||||
/// http://groups.google.co.uk/group/microsoft.public.dotnet.languages.csharp/browse_thread/thread/4d45e9ea5471cba4/4519371a77ed4a74
|
||||
/// </summary>
|
||||
/// <param name="undo"></param>
|
||||
/// <param name="args"></param>
|
||||
public static void Install(bool undo, string[] args)
|
||||
{
|
||||
try
|
||||
{
|
||||
Console.WriteLine(undo ? "uninstalling" : "installing");
|
||||
using (AssemblyInstaller inst = new AssemblyInstaller(typeof(Program).Assembly, args))
|
||||
{
|
||||
IDictionary state = new Hashtable();
|
||||
inst.UseNewContext = true;
|
||||
try
|
||||
{
|
||||
if (undo)
|
||||
{
|
||||
inst.Uninstall(state);
|
||||
}
|
||||
else
|
||||
{
|
||||
inst.Install(state);
|
||||
inst.Commit(state);
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
try
|
||||
{
|
||||
inst.Rollback(state);
|
||||
}
|
||||
catch { }
|
||||
throw;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.Error.WriteLine(ex.Message);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,19 +0,0 @@
|
|||
using System;
|
||||
using System.Reflection;
|
||||
using System.Resources;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Security.Permissions;
|
||||
|
||||
[assembly: AssemblyTitle("CassiniDev")]
|
||||
[assembly: AssemblyDescription("Cassini For Developers")]
|
||||
[assembly: AssemblyCompany("Salient Solutions")]
|
||||
[assembly: AssemblyProduct("CassiniDev")]
|
||||
[assembly: AssemblyCopyright("\x00a9 Sky Sanders/\x00a9 Microsoft Corporation. All rights reserved.")]
|
||||
[assembly: NeutralResourcesLanguage("en-US")]
|
||||
[assembly: AssemblyVersion("3.5.1.8")]
|
||||
[assembly: AssemblyFileVersion("3.5.1.8")]
|
||||
[assembly: ComVisible(false)]
|
||||
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
|
||||
[assembly: SecurityPermission(SecurityAction.RequestMinimum)]
|
||||
[assembly: CLSCompliant(true)]
|
|
@ -1,19 +0,0 @@
|
|||
using System;
|
||||
using System.Reflection;
|
||||
using System.Resources;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Security.Permissions;
|
||||
|
||||
[assembly: AssemblyTitle("CassiniDev")]
|
||||
[assembly: AssemblyDescription("Cassini For Developers")]
|
||||
[assembly: AssemblyCompany("Salient Solutions")]
|
||||
[assembly: AssemblyProduct("CassiniDev")]
|
||||
[assembly: AssemblyCopyright("\x00a9 Sky Sanders/\x00a9 Microsoft Corporation. All rights reserved.")]
|
||||
[assembly: NeutralResourcesLanguage("en-US")]
|
||||
[assembly: AssemblyVersion("4.0.1.8")]
|
||||
[assembly: AssemblyFileVersion("4.0.1.8")]
|
||||
[assembly: ComVisible(false)]
|
||||
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
|
||||
[assembly: SecurityPermission(SecurityAction.RequestMinimum)]
|
||||
[assembly: CLSCompliant(true)]
|
|
@ -1,254 +0,0 @@
|
|||
<?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.Runtime.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:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<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" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</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" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</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>
|
||||
<data name="WebdevDirListing" xml:space="preserve">
|
||||
<value>Directory Listing -- {0}</value>
|
||||
</data>
|
||||
<data name="WebdevVwdName" xml:space="preserve">
|
||||
<value>CassiniDev Server</value>
|
||||
</data>
|
||||
<data name="WebdevServerError" xml:space="preserve">
|
||||
<value>Server Error in '{0}' Application.</value>
|
||||
</data>
|
||||
<data name="WebdevVersionInfo" xml:space="preserve">
|
||||
<value>Version Information</value>
|
||||
</data>
|
||||
<data name="WebdevHttpError" xml:space="preserve">
|
||||
<value>HTTP Error {0} - {1}.</value>
|
||||
</data>
|
||||
<data name="WebdevDirNotExist" xml:space="preserve">
|
||||
<value>The directory '{0}' does not exist.</value>
|
||||
</data>
|
||||
<data name="WebdevErrorListeningPort" xml:space="preserve">
|
||||
<value>CassiniDev Server failed to start listening on port {0}.
|
||||
Error message:
|
||||
{1}</value>
|
||||
</data>
|
||||
<data name="WebdevInvalidPort" xml:space="preserve">
|
||||
<value>Invalid port'{0}'</value>
|
||||
</data>
|
||||
<data name="WebdevName" xml:space="preserve">
|
||||
<value>CassiniDev Server</value>
|
||||
</data>
|
||||
<data name="WebdevNameWithPort" xml:space="preserve">
|
||||
<value>CassiniDev Server - Port {0}</value>
|
||||
</data>
|
||||
<data name="WebdevOpenInBrowser" xml:space="preserve">
|
||||
<value>Open in Web Browser</value>
|
||||
</data>
|
||||
<data name="WebdevRunAspNetLocally" xml:space="preserve">
|
||||
<value>Run ASP.NET applications locally.</value>
|
||||
</data>
|
||||
<data name="WebdevShowDetail" xml:space="preserve">
|
||||
<value>Show Details</value>
|
||||
</data>
|
||||
<data name="WebdevStop" xml:space="preserve">
|
||||
<value>Stop</value>
|
||||
</data>
|
||||
<data name="WebdevUsagestr1" xml:space="preserve">
|
||||
<value>CassiniDev Server Usage:
|
||||
</value>
|
||||
</data>
|
||||
<data name="WebdevUsagestr2" xml:space="preserve">
|
||||
<value>WebDev.WebServer /port:<port number> /path:<physical path> [/vpath:<virtual path>]
|
||||
|
||||
</value>
|
||||
</data>
|
||||
<data name="WebdevUsagestr3" xml:space="preserve">
|
||||
<value> port number:
|
||||
[Optional] An unused port number between 1 and 65535.
|
||||
The default is 80 (usable if you do not also have IIS listening on the same port).
|
||||
|
||||
</value>
|
||||
</data>
|
||||
<data name="WebdevUsagestr4" xml:space="preserve">
|
||||
<value> physical path:
|
||||
A valid directory name where the Web application is rooted.
|
||||
|
||||
</value>
|
||||
</data>
|
||||
<data name="WebdevUsagestr5" xml:space="preserve">
|
||||
<value> virtual path:
|
||||
[Optional] The virtual path or application root in the form of '/<app name>'.
|
||||
The default is simply '/'.
|
||||
|
||||
</value>
|
||||
</data>
|
||||
<data name="WebdevUsagestr6" xml:space="preserve">
|
||||
<value>Example:
|
||||
WebDev.WebServer /port:8080 /path:"c:\inetpub\wwwroot\MyApp" /vpath:"/MyApp"
|
||||
|
||||
</value>
|
||||
</data>
|
||||
<data name="WebdevUsagestr7" xml:space="preserve">
|
||||
<value>You can then access the Web application using a URL of the form:
|
||||
http://localhost:8080/MyApp</value>
|
||||
</data>
|
||||
<data name="WebdevLogViewerNameWithPort" xml:space="preserve">
|
||||
<value>CassiniDev Server - Port {0} - Log Viewer</value>
|
||||
</data>
|
||||
<data name="WebdevInMemoryLogging" xml:space="preserve">
|
||||
<value>In memory logging is enabled.
|
||||
|
||||
Events are only captured when the Log window is visible
|
||||
and all data will be lost when this window is closed.
|
||||
|
||||
Install the latest System.Data.SQLite package to enable
|
||||
log persistence.</value>
|
||||
</data>
|
||||
<data name="WebdevAspNetVersion" xml:space="preserve">
|
||||
<value>ASP.Net Version: {0}</value>
|
||||
</data>
|
||||
<data name="WebdevStart" xml:space="preserve">
|
||||
<value>Start</value>
|
||||
</data>
|
||||
<data name="ErrApplicationPathIsNull" xml:space="preserve">
|
||||
<value>ApplicationPath is null</value>
|
||||
</data>
|
||||
<data name="ErrFailedToStartCassiniDevServerOnPortError" xml:space="preserve">
|
||||
<value>Failed to start CassiniDev Server on Port:{0} Error:{1} {2}</value>
|
||||
</data>
|
||||
<data name="ErrInvalidHostname" xml:space="preserve">
|
||||
<value>Invalid Hostname {0}</value>
|
||||
</data>
|
||||
<data name="ErrInvalidIPAddress" xml:space="preserve">
|
||||
<value>Invalid IP Address {0}</value>
|
||||
</data>
|
||||
<data name="ErrInvalidIPMode" xml:space="preserve">
|
||||
<value>Invalid IPMode {0}</value>
|
||||
</data>
|
||||
<data name="ErrInvalidPortMode" xml:space="preserve">
|
||||
<value>Invalid PortMode</value>
|
||||
</data>
|
||||
<data name="ErrInvalidPortRangeValue" xml:space="preserve">
|
||||
<value>Invalid port range value {0}</value>
|
||||
</data>
|
||||
<data name="ErrNoAvailablePortFound" xml:space="preserve">
|
||||
<value>No available port found.</value>
|
||||
</data>
|
||||
<data name="ErrPortIsInUse" xml:space="preserve">
|
||||
<value>Port is in use {0}</value>
|
||||
</data>
|
||||
<data name="ErrPortOutOfRange" xml:space="preserve">
|
||||
<value>Port out of range: {0}</value>
|
||||
</data>
|
||||
<data name="ErrPortRangeEndMustBeEqualOrGreaterThanPortRangeSta" xml:space="preserve">
|
||||
<value>Port range end must be equal or greater than port range start {0} {1}</value>
|
||||
</data>
|
||||
</root>
|
|
@ -1,164 +0,0 @@
|
|||
// **********************************************************************************
|
||||
// CassiniDev - http://cassinidev.codeplex.com
|
||||
//
|
||||
// Copyright (c) Sky Sanders. All rights reserved.
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
//
|
||||
// This source code is subject to terms and conditions of the Microsoft Public
|
||||
// License (Ms-PL). A copy of the license can be found in the license.htm file
|
||||
// included in this distribution.
|
||||
//
|
||||
// You must not remove this notice, or any other, from this software.
|
||||
//
|
||||
// **********************************************************************************
|
||||
|
||||
#region
|
||||
|
||||
using System;
|
||||
using System.Globalization;
|
||||
using System.Reflection;
|
||||
using System.Resources;
|
||||
using System.Threading;
|
||||
|
||||
#endregion
|
||||
|
||||
namespace CassiniDev
|
||||
{
|
||||
internal sealed class SR
|
||||
{
|
||||
|
||||
internal const string ErrInvalidIPMode="SR.ErrInvalidIPMode";
|
||||
internal const string ErrInvalidIPAddress = "ErrInvalidIPAddress";
|
||||
internal const string ErrInvalidPortMode = "ErrInvalidPortMode";
|
||||
internal const string ErrPortIsInUse = "ErrPortIsInUse";
|
||||
internal const string ErrNoAvailablePortFound = "ErrNoAvailablePortFound";
|
||||
internal const string ErrPortRangeEndMustBeEqualOrGreaterThanPortRangeSta =
|
||||
"ErrPortRangeEndMustBeEqualOrGreaterThanPortRangeSta";
|
||||
internal const string ErrInvalidPortRangeValue = "ErrInvalidPortRangeValue";
|
||||
internal const string ErrInvalidHostname = "ErrInvalidHostname";
|
||||
|
||||
internal const string ErrFailedToStartCassiniDevServerOnPortError =
|
||||
"ErrFailedToStartCassiniDevServerOnPortError";
|
||||
internal const string ErrApplicationPathIsNull = "ErrApplicationPathIsNull";
|
||||
internal const string ErrPortOutOfRange = "ErrPortOutOfRange";
|
||||
|
||||
internal const string WebdevAspNetVersion = "WebdevAspNetVersion";
|
||||
|
||||
internal const string WebdevDirListing = "WebdevDirListing";
|
||||
|
||||
internal const string WebdevDirNotExist = "WebdevDirNotExist";
|
||||
|
||||
internal const string WebdevErrorListeningPort = "WebdevErrorListeningPort";
|
||||
|
||||
internal const string WebdevHttpError = "WebdevHttpError";
|
||||
|
||||
internal const string WebdevInMemoryLogging = "WebdevInMemoryLogging";
|
||||
|
||||
internal const string WebdevInvalidPort = "WebdevInvalidPort";
|
||||
|
||||
internal const string WebdevLogViewerNameWithPort = "WebdevLogViewerNameWithPort";
|
||||
|
||||
internal const string WebdevName = "WebdevName";
|
||||
|
||||
internal const string WebdevNameWithPort = "WebdevNameWithPort";
|
||||
|
||||
internal const string WebdevOpenInBrowser = "WebdevOpenInBrowser";
|
||||
|
||||
internal const string WebdevRunAspNetLocally = "WebdevRunAspNetLocally";
|
||||
|
||||
internal const string WebdevServerError = "WebdevServerError";
|
||||
|
||||
internal const string WebdevShowDetail = "WebdevShowDetail";
|
||||
|
||||
internal const string WebdevStop = "WebdevStop";
|
||||
|
||||
internal const string WebdevUsagestr1 = "WebdevUsagestr1";
|
||||
|
||||
internal const string WebdevUsagestr2 = "WebdevUsagestr2";
|
||||
|
||||
internal const string WebdevUsagestr3 = "WebdevUsagestr3";
|
||||
|
||||
internal const string WebdevUsagestr4 = "WebdevUsagestr4";
|
||||
|
||||
internal const string WebdevUsagestr5 = "WebdevUsagestr5";
|
||||
|
||||
internal const string WebdevUsagestr6 = "WebdevUsagestr6";
|
||||
|
||||
internal const string WebdevUsagestr7 = "WebdevUsagestr7";
|
||||
|
||||
internal const string WebdevVersionInfo = "WebdevVersionInfo";
|
||||
|
||||
internal const string WebdevVwdName = "WebdevVwdName";
|
||||
|
||||
private static SR _loader;
|
||||
|
||||
private readonly ResourceManager _resources;
|
||||
public const string WebdevStart = "WebdevStart";
|
||||
|
||||
internal SR()
|
||||
{
|
||||
Type t = GetType();
|
||||
Assembly thisAssembly = t.Assembly;
|
||||
string stringResourcesName = t.Namespace + ".Resources.CassiniDev";
|
||||
_resources = new ResourceManager(stringResourcesName, thisAssembly);
|
||||
}
|
||||
|
||||
private static CultureInfo Culture
|
||||
{
|
||||
get { return null; }
|
||||
}
|
||||
|
||||
public static ResourceManager Resources
|
||||
{
|
||||
get { return GetLoader()._resources; }
|
||||
}
|
||||
|
||||
public static string GetString(string name)
|
||||
{
|
||||
SR loader = GetLoader();
|
||||
if (loader == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return loader._resources.GetString(name, Culture);
|
||||
}
|
||||
|
||||
public static string GetString(string name, params object[] args)
|
||||
{
|
||||
SR loader = GetLoader();
|
||||
if (loader == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
string format = loader._resources.GetString(name, Culture);
|
||||
if ((args == null) || (args.Length <= 0))
|
||||
{
|
||||
return format;
|
||||
}
|
||||
for (int i = 0; i < args.Length; i++)
|
||||
{
|
||||
string str2 = args[i] as string;
|
||||
if ((str2 != null) && (str2.Length > 0x400))
|
||||
{
|
||||
args[i] = str2.Substring(0, 0x3fd) + "...";
|
||||
}
|
||||
}
|
||||
if (string.IsNullOrEmpty(format))
|
||||
{
|
||||
return string.Empty;
|
||||
}
|
||||
return string.Format(CultureInfo.CurrentCulture, format, args);
|
||||
}
|
||||
|
||||
private static SR GetLoader()
|
||||
{
|
||||
if (_loader == null)
|
||||
{
|
||||
SR sr = new SR();
|
||||
Interlocked.CompareExchange(ref _loader, sr, null);
|
||||
}
|
||||
return _loader;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
Binary file not shown.
Before Width: | Height: | Size: 3.7 KiB |
187
CassiniDev/Views/BodyView.Designer.cs
generated
187
CassiniDev/Views/BodyView.Designer.cs
generated
|
@ -1,187 +0,0 @@
|
|||
namespace CassiniDev.ServerLog
|
||||
{
|
||||
partial class BodyView
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Component Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
this.pictureBox1 = new System.Windows.Forms.PictureBox();
|
||||
this.tabControl1 = new System.Windows.Forms.TabControl();
|
||||
this.TextViewTab = new System.Windows.Forms.TabPage();
|
||||
this.TextViewTextBox = new System.Windows.Forms.RichTextBox();
|
||||
this.HexViewTab = new System.Windows.Forms.TabPage();
|
||||
this.HexViewTextBox = new System.Windows.Forms.RichTextBox();
|
||||
this.ImageViewTab = new System.Windows.Forms.TabPage();
|
||||
this.tabPage1 = new System.Windows.Forms.TabPage();
|
||||
this.richTextBox1 = new System.Windows.Forms.RichTextBox();
|
||||
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
|
||||
this.tabControl1.SuspendLayout();
|
||||
this.TextViewTab.SuspendLayout();
|
||||
this.HexViewTab.SuspendLayout();
|
||||
this.ImageViewTab.SuspendLayout();
|
||||
this.tabPage1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// pictureBox1
|
||||
//
|
||||
this.pictureBox1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.pictureBox1.Location = new System.Drawing.Point(4, 4);
|
||||
this.pictureBox1.Name = "pictureBox1";
|
||||
this.pictureBox1.Size = new System.Drawing.Size(271, 123);
|
||||
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
|
||||
this.pictureBox1.TabIndex = 0;
|
||||
this.pictureBox1.TabStop = false;
|
||||
//
|
||||
// tabControl1
|
||||
//
|
||||
this.tabControl1.Controls.Add(this.TextViewTab);
|
||||
this.tabControl1.Controls.Add(this.HexViewTab);
|
||||
this.tabControl1.Controls.Add(this.ImageViewTab);
|
||||
this.tabControl1.Controls.Add(this.tabPage1);
|
||||
this.tabControl1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tabControl1.Location = new System.Drawing.Point(0, 0);
|
||||
this.tabControl1.Name = "tabControl1";
|
||||
this.tabControl1.SelectedIndex = 0;
|
||||
this.tabControl1.Size = new System.Drawing.Size(287, 157);
|
||||
this.tabControl1.TabIndex = 2;
|
||||
//
|
||||
// TextViewTab
|
||||
//
|
||||
this.TextViewTab.Controls.Add(this.TextViewTextBox);
|
||||
this.TextViewTab.Location = new System.Drawing.Point(4, 22);
|
||||
this.TextViewTab.Name = "TextViewTab";
|
||||
this.TextViewTab.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.TextViewTab.Size = new System.Drawing.Size(279, 131);
|
||||
this.TextViewTab.TabIndex = 1;
|
||||
this.TextViewTab.Text = "TextView";
|
||||
this.TextViewTab.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// TextViewTextBox
|
||||
//
|
||||
this.TextViewTextBox.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.TextViewTextBox.Font = new System.Drawing.Font("Courier New", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.TextViewTextBox.Location = new System.Drawing.Point(3, 3);
|
||||
this.TextViewTextBox.Name = "TextViewTextBox";
|
||||
this.TextViewTextBox.ReadOnly = true;
|
||||
this.TextViewTextBox.Size = new System.Drawing.Size(273, 125);
|
||||
this.TextViewTextBox.TabIndex = 0;
|
||||
this.TextViewTextBox.Text = "";
|
||||
this.toolTip1.SetToolTip(this.TextViewTextBox, "CTRL+ Mouse Wheel to Zoom");
|
||||
this.TextViewTextBox.WordWrap = false;
|
||||
//
|
||||
// HexViewTab
|
||||
//
|
||||
this.HexViewTab.Controls.Add(this.HexViewTextBox);
|
||||
this.HexViewTab.Location = new System.Drawing.Point(4, 22);
|
||||
this.HexViewTab.Name = "HexViewTab";
|
||||
this.HexViewTab.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.HexViewTab.Size = new System.Drawing.Size(279, 131);
|
||||
this.HexViewTab.TabIndex = 0;
|
||||
this.HexViewTab.Text = "HexView";
|
||||
this.HexViewTab.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// HexViewTextBox
|
||||
//
|
||||
this.HexViewTextBox.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.HexViewTextBox.Font = new System.Drawing.Font("Courier New", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.HexViewTextBox.Location = new System.Drawing.Point(3, 3);
|
||||
this.HexViewTextBox.Name = "HexViewTextBox";
|
||||
this.HexViewTextBox.ReadOnly = true;
|
||||
this.HexViewTextBox.Size = new System.Drawing.Size(273, 125);
|
||||
this.HexViewTextBox.TabIndex = 1;
|
||||
this.HexViewTextBox.Text = "";
|
||||
this.toolTip1.SetToolTip(this.HexViewTextBox, "CTRL+ Mouse Wheel to Zoom");
|
||||
this.HexViewTextBox.WordWrap = false;
|
||||
//
|
||||
// ImageViewTab
|
||||
//
|
||||
this.ImageViewTab.AutoScroll = true;
|
||||
this.ImageViewTab.Controls.Add(this.pictureBox1);
|
||||
this.ImageViewTab.Location = new System.Drawing.Point(4, 22);
|
||||
this.ImageViewTab.Name = "ImageViewTab";
|
||||
this.ImageViewTab.Padding = new System.Windows.Forms.Padding(4);
|
||||
this.ImageViewTab.Size = new System.Drawing.Size(279, 131);
|
||||
this.ImageViewTab.TabIndex = 2;
|
||||
this.ImageViewTab.Text = "ImageView";
|
||||
this.ImageViewTab.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// tabPage1
|
||||
//
|
||||
this.tabPage1.Controls.Add(this.richTextBox1);
|
||||
this.tabPage1.Location = new System.Drawing.Point(4, 22);
|
||||
this.tabPage1.Name = "tabPage1";
|
||||
this.tabPage1.Size = new System.Drawing.Size(279, 131);
|
||||
this.tabPage1.TabIndex = 3;
|
||||
this.tabPage1.Text = "TODO";
|
||||
this.tabPage1.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// richTextBox1
|
||||
//
|
||||
this.richTextBox1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.richTextBox1.Font = new System.Drawing.Font("Courier New", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.richTextBox1.Location = new System.Drawing.Point(0, 0);
|
||||
this.richTextBox1.Name = "richTextBox1";
|
||||
this.richTextBox1.ReadOnly = true;
|
||||
this.richTextBox1.Size = new System.Drawing.Size(279, 131);
|
||||
this.richTextBox1.TabIndex = 2;
|
||||
this.richTextBox1.Text = "Expose extension API, probably via MEF, to enable incremental implemention of add" +
|
||||
"itional views, e.g. a PDF view, a XAML view";
|
||||
this.toolTip1.SetToolTip(this.richTextBox1, "CTRL+ Mouse Wheel to Zoom");
|
||||
//
|
||||
// BodyView
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.BackColor = System.Drawing.SystemColors.GradientActiveCaption;
|
||||
this.Controls.Add(this.tabControl1);
|
||||
this.Name = "BodyView";
|
||||
this.Size = new System.Drawing.Size(287, 157);
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
|
||||
this.tabControl1.ResumeLayout(false);
|
||||
this.TextViewTab.ResumeLayout(false);
|
||||
this.HexViewTab.ResumeLayout(false);
|
||||
this.ImageViewTab.ResumeLayout(false);
|
||||
this.tabPage1.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.PictureBox pictureBox1;
|
||||
private System.Windows.Forms.TabControl tabControl1;
|
||||
private System.Windows.Forms.TabPage HexViewTab;
|
||||
private System.Windows.Forms.RichTextBox HexViewTextBox;
|
||||
private System.Windows.Forms.TabPage TextViewTab;
|
||||
private System.Windows.Forms.RichTextBox TextViewTextBox;
|
||||
private System.Windows.Forms.TabPage ImageViewTab;
|
||||
private System.Windows.Forms.ToolTip toolTip1;
|
||||
private System.Windows.Forms.TabPage tabPage1;
|
||||
private System.Windows.Forms.RichTextBox richTextBox1;
|
||||
}
|
||||
}
|
|
@ -1,77 +0,0 @@
|
|||
// **********************************************************************************
|
||||
// CassiniDev - http://cassinidev.codeplex.com
|
||||
//
|
||||
// Copyright (c) Sky Sanders. All rights reserved.
|
||||
//
|
||||
// This source code is subject to terms and conditions of the Microsoft Public
|
||||
// License (Ms-PL). A copy of the license can be found in the license.htm file
|
||||
// included in this distribution.
|
||||
//
|
||||
// You must not remove this notice, or any other, from this software.
|
||||
//
|
||||
// **********************************************************************************
|
||||
|
||||
#region
|
||||
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
|
||||
#endregion
|
||||
|
||||
namespace CassiniDev.ServerLog
|
||||
{
|
||||
[DefaultBindingProperty("Value")]
|
||||
public partial class BodyView : UserControl
|
||||
{
|
||||
private byte[] _value;
|
||||
|
||||
public BodyView()
|
||||
{
|
||||
InitializeComponent();
|
||||
pictureBox1.SizeMode = PictureBoxSizeMode.Zoom;
|
||||
}
|
||||
|
||||
public Byte[] Value
|
||||
{
|
||||
get { return _value; }
|
||||
set
|
||||
{
|
||||
_value = value;
|
||||
ClearDisplay();
|
||||
if (_value != null)
|
||||
{
|
||||
HexViewTextBox.Text = _value.ConvertToHexView(8);
|
||||
TextViewTextBox.Text = Encoding.UTF8.GetString(_value);
|
||||
try
|
||||
{
|
||||
using (MemoryStream s = new MemoryStream(_value))
|
||||
{
|
||||
pictureBox1.Image = Image.FromStream(s);
|
||||
}
|
||||
pictureBox1.Visible = true;
|
||||
}
|
||||
// ReSharper disable EmptyGeneralCatchClause
|
||||
catch
|
||||
// ReSharper restore EmptyGeneralCatchClause
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void ClearDisplay()
|
||||
{
|
||||
if (pictureBox1.Image != null)
|
||||
{
|
||||
pictureBox1.Image.Dispose();
|
||||
pictureBox1.Image = null;
|
||||
}
|
||||
HexViewTextBox.Text = "";
|
||||
TextViewTextBox.Text = "";
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,123 +0,0 @@
|
|||
<?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.Runtime.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:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<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" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</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" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</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>
|
||||
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
</root>
|
686
CassiniDev/Views/FormView.Designer.cs
generated
686
CassiniDev/Views/FormView.Designer.cs
generated
|
@ -1,686 +0,0 @@
|
|||
namespace CassiniDev
|
||||
{
|
||||
partial class FormView
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormView));
|
||||
this.RootUrlLinkLabel = new System.Windows.Forms.LinkLabel();
|
||||
this.ApplicationPathTextBox = new System.Windows.Forms.TextBox();
|
||||
this.VirtualPathTextBox = new System.Windows.Forms.TextBox();
|
||||
this.HostNameTextBox = new System.Windows.Forms.TextBox();
|
||||
this.LabelPhysicalPath = new System.Windows.Forms.Label();
|
||||
this.AddHostEntryCheckBox = new System.Windows.Forms.CheckBox();
|
||||
this.LabelVPath = new System.Windows.Forms.Label();
|
||||
this.ButtonBrowsePhysicalPath = new System.Windows.Forms.Button();
|
||||
this.LabelHostName = new System.Windows.Forms.Label();
|
||||
this.GroupBoxPort = new System.Windows.Forms.GroupBox();
|
||||
this.PortRangeEndTextBox = new System.Windows.Forms.NumericUpDown();
|
||||
this.PortRangeStartTextBox = new System.Windows.Forms.NumericUpDown();
|
||||
this.PortTextBox = new System.Windows.Forms.NumericUpDown();
|
||||
this.LabelPortRangeSeperator = new System.Windows.Forms.Label();
|
||||
this.PortModeFirstAvailableRadioButton = new System.Windows.Forms.RadioButton();
|
||||
this.PortModeSpecificRadioButton = new System.Windows.Forms.RadioButton();
|
||||
this.GroupBoxIPAddress = new System.Windows.Forms.GroupBox();
|
||||
this.IPSpecificTextBox = new System.Windows.Forms.ComboBox();
|
||||
this.IPV6CheckBox = new System.Windows.Forms.CheckBox();
|
||||
this.RadioButtonIPSpecific = new System.Windows.Forms.RadioButton();
|
||||
this.IPModeAnyRadioButton = new System.Windows.Forms.RadioButton();
|
||||
this.IPModeLoopBackRadioButton = new System.Windows.Forms.RadioButton();
|
||||
this.ButtonStart = new System.Windows.Forms.Button();
|
||||
this.errorProvider1 = new System.Windows.Forms.ErrorProvider(this.components);
|
||||
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
|
||||
this.LabelIdleTimeOut = new System.Windows.Forms.Label();
|
||||
this.TrayIcon = new System.Windows.Forms.NotifyIcon(this.components);
|
||||
this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components);
|
||||
this.showToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.browseToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.ShowLogMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.closeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.statusStrip1 = new System.Windows.Forms.StatusStrip();
|
||||
this.toolStripStatusLabel1 = new System.Windows.Forms.ToolStripStatusLabel();
|
||||
this.ShowLogButton = new System.Windows.Forms.Button();
|
||||
this.menuStrip1 = new System.Windows.Forms.MenuStrip();
|
||||
this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.hideToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.optionsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.nTLMAuthenticationRequiredToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.directoryBrowsingEnabledToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.helpToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.TimeOutNumeric = new System.Windows.Forms.NumericUpDown();
|
||||
this.GroupBoxPort.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.PortRangeEndTextBox)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.PortRangeStartTextBox)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.PortTextBox)).BeginInit();
|
||||
this.GroupBoxIPAddress.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.errorProvider1)).BeginInit();
|
||||
this.contextMenuStrip1.SuspendLayout();
|
||||
this.statusStrip1.SuspendLayout();
|
||||
this.menuStrip1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.TimeOutNumeric)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// RootUrlLinkLabel
|
||||
//
|
||||
this.RootUrlLinkLabel.AutoSize = true;
|
||||
this.RootUrlLinkLabel.Location = new System.Drawing.Point(9, 300);
|
||||
this.RootUrlLinkLabel.Name = "RootUrlLinkLabel";
|
||||
this.RootUrlLinkLabel.Size = new System.Drawing.Size(189, 13);
|
||||
this.RootUrlLinkLabel.TabIndex = 24;
|
||||
this.RootUrlLinkLabel.TabStop = true;
|
||||
this.RootUrlLinkLabel.Text = "XXXXXXXXXXXXXXXXXXXXXXXXXX";
|
||||
this.RootUrlLinkLabel.Visible = false;
|
||||
this.RootUrlLinkLabel.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LaunchBrowser);
|
||||
//
|
||||
// ApplicationPathTextBox
|
||||
//
|
||||
this.ApplicationPathTextBox.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Suggest;
|
||||
this.ApplicationPathTextBox.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.FileSystemDirectories;
|
||||
this.ApplicationPathTextBox.Location = new System.Drawing.Point(12, 53);
|
||||
this.ApplicationPathTextBox.Name = "ApplicationPathTextBox";
|
||||
this.ApplicationPathTextBox.Size = new System.Drawing.Size(285, 20);
|
||||
this.ApplicationPathTextBox.TabIndex = 0;
|
||||
this.toolTip1.SetToolTip(this.ApplicationPathTextBox, "The physical directory of the web application or site to serve.");
|
||||
//
|
||||
// VirtualPathTextBox
|
||||
//
|
||||
this.VirtualPathTextBox.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Suggest;
|
||||
this.VirtualPathTextBox.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.RecentlyUsedList;
|
||||
this.VirtualPathTextBox.Location = new System.Drawing.Point(12, 92);
|
||||
this.VirtualPathTextBox.Name = "VirtualPathTextBox";
|
||||
this.VirtualPathTextBox.Size = new System.Drawing.Size(317, 20);
|
||||
this.VirtualPathTextBox.TabIndex = 2;
|
||||
this.VirtualPathTextBox.Text = "/";
|
||||
this.toolTip1.SetToolTip(this.VirtualPathTextBox, "The virtual path upon which to root the application.");
|
||||
//
|
||||
// HostNameTextBox
|
||||
//
|
||||
this.HostNameTextBox.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Suggest;
|
||||
this.HostNameTextBox.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.RecentlyUsedList;
|
||||
this.HostNameTextBox.Location = new System.Drawing.Point(12, 131);
|
||||
this.HostNameTextBox.Name = "HostNameTextBox";
|
||||
this.HostNameTextBox.Size = new System.Drawing.Size(213, 20);
|
||||
this.HostNameTextBox.TabIndex = 3;
|
||||
this.toolTip1.SetToolTip(this.HostNameTextBox, resources.GetString("HostNameTextBox.ToolTip"));
|
||||
this.HostNameTextBox.TextChanged += new System.EventHandler(this.HostNameChanged);
|
||||
//
|
||||
// LabelPhysicalPath
|
||||
//
|
||||
this.LabelPhysicalPath.AutoSize = true;
|
||||
this.LabelPhysicalPath.Location = new System.Drawing.Point(12, 36);
|
||||
this.LabelPhysicalPath.Name = "LabelPhysicalPath";
|
||||
this.LabelPhysicalPath.Size = new System.Drawing.Size(71, 13);
|
||||
this.LabelPhysicalPath.TabIndex = 1;
|
||||
this.LabelPhysicalPath.Text = "Physical Path";
|
||||
this.toolTip1.SetToolTip(this.LabelPhysicalPath, "The physical directory of the web application or site to serve.");
|
||||
//
|
||||
// AddHostEntryCheckBox
|
||||
//
|
||||
this.AddHostEntryCheckBox.AutoSize = true;
|
||||
this.AddHostEntryCheckBox.Enabled = false;
|
||||
this.AddHostEntryCheckBox.FlatStyle = System.Windows.Forms.FlatStyle.System;
|
||||
this.AddHostEntryCheckBox.Location = new System.Drawing.Point(231, 133);
|
||||
this.AddHostEntryCheckBox.Name = "AddHostEntryCheckBox";
|
||||
this.AddHostEntryCheckBox.Size = new System.Drawing.Size(105, 18);
|
||||
this.AddHostEntryCheckBox.TabIndex = 4;
|
||||
this.AddHostEntryCheckBox.Text = "Add hosts entry";
|
||||
this.toolTip1.SetToolTip(this.AddHostEntryCheckBox, resources.GetString("AddHostEntryCheckBox.ToolTip"));
|
||||
this.AddHostEntryCheckBox.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// LabelVPath
|
||||
//
|
||||
this.LabelVPath.AutoSize = true;
|
||||
this.LabelVPath.Location = new System.Drawing.Point(12, 75);
|
||||
this.LabelVPath.Name = "LabelVPath";
|
||||
this.LabelVPath.Size = new System.Drawing.Size(61, 13);
|
||||
this.LabelVPath.TabIndex = 3;
|
||||
this.LabelVPath.Text = "Virtual Path";
|
||||
this.toolTip1.SetToolTip(this.LabelVPath, "The virtual path upon which to root the application.");
|
||||
//
|
||||
// ButtonBrowsePhysicalPath
|
||||
//
|
||||
this.ButtonBrowsePhysicalPath.Location = new System.Drawing.Point(303, 50);
|
||||
this.ButtonBrowsePhysicalPath.Name = "ButtonBrowsePhysicalPath";
|
||||
this.ButtonBrowsePhysicalPath.Size = new System.Drawing.Size(27, 23);
|
||||
this.ButtonBrowsePhysicalPath.TabIndex = 1;
|
||||
this.ButtonBrowsePhysicalPath.Text = "...";
|
||||
this.toolTip1.SetToolTip(this.ButtonBrowsePhysicalPath, "Browse");
|
||||
this.ButtonBrowsePhysicalPath.UseVisualStyleBackColor = true;
|
||||
this.ButtonBrowsePhysicalPath.Click += new System.EventHandler(this.BrowsePath);
|
||||
//
|
||||
// LabelHostName
|
||||
//
|
||||
this.LabelHostName.AutoSize = true;
|
||||
this.LabelHostName.Location = new System.Drawing.Point(12, 115);
|
||||
this.LabelHostName.Name = "LabelHostName";
|
||||
this.LabelHostName.Size = new System.Drawing.Size(106, 13);
|
||||
this.LabelHostName.TabIndex = 5;
|
||||
this.LabelHostName.Text = "Host Name (optional)";
|
||||
this.toolTip1.SetToolTip(this.LabelHostName, resources.GetString("LabelHostName.ToolTip"));
|
||||
//
|
||||
// GroupBoxPort
|
||||
//
|
||||
this.GroupBoxPort.Controls.Add(this.PortRangeEndTextBox);
|
||||
this.GroupBoxPort.Controls.Add(this.PortRangeStartTextBox);
|
||||
this.GroupBoxPort.Controls.Add(this.PortTextBox);
|
||||
this.GroupBoxPort.Controls.Add(this.LabelPortRangeSeperator);
|
||||
this.GroupBoxPort.Controls.Add(this.PortModeFirstAvailableRadioButton);
|
||||
this.GroupBoxPort.Controls.Add(this.PortModeSpecificRadioButton);
|
||||
this.GroupBoxPort.Location = new System.Drawing.Point(12, 213);
|
||||
this.GroupBoxPort.Name = "GroupBoxPort";
|
||||
this.GroupBoxPort.Size = new System.Drawing.Size(324, 47);
|
||||
this.GroupBoxPort.TabIndex = 9;
|
||||
this.GroupBoxPort.TabStop = false;
|
||||
this.GroupBoxPort.Text = "Port";
|
||||
//
|
||||
// PortRangeEndTextBox
|
||||
//
|
||||
this.PortRangeEndTextBox.Location = new System.Drawing.Point(261, 12);
|
||||
this.PortRangeEndTextBox.Maximum = new decimal(new int[] {
|
||||
65535,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.PortRangeEndTextBox.Minimum = new decimal(new int[] {
|
||||
2,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.PortRangeEndTextBox.Name = "PortRangeEndTextBox";
|
||||
this.PortRangeEndTextBox.Size = new System.Drawing.Size(57, 20);
|
||||
this.PortRangeEndTextBox.TabIndex = 19;
|
||||
this.PortRangeEndTextBox.Value = new decimal(new int[] {
|
||||
65535,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
//
|
||||
// PortRangeStartTextBox
|
||||
//
|
||||
this.PortRangeStartTextBox.Location = new System.Drawing.Point(182, 12);
|
||||
this.PortRangeStartTextBox.Maximum = new decimal(new int[] {
|
||||
65534,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.PortRangeStartTextBox.Minimum = new decimal(new int[] {
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.PortRangeStartTextBox.Name = "PortRangeStartTextBox";
|
||||
this.PortRangeStartTextBox.Size = new System.Drawing.Size(57, 20);
|
||||
this.PortRangeStartTextBox.TabIndex = 18;
|
||||
this.PortRangeStartTextBox.Value = new decimal(new int[] {
|
||||
32768,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
//
|
||||
// PortTextBox
|
||||
//
|
||||
this.PortTextBox.Location = new System.Drawing.Point(65, 12);
|
||||
this.PortTextBox.Maximum = new decimal(new int[] {
|
||||
65535,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.PortTextBox.Name = "PortTextBox";
|
||||
this.PortTextBox.Size = new System.Drawing.Size(57, 20);
|
||||
this.PortTextBox.TabIndex = 17;
|
||||
//
|
||||
// LabelPortRangeSeperator
|
||||
//
|
||||
this.LabelPortRangeSeperator.AutoSize = true;
|
||||
this.LabelPortRangeSeperator.Location = new System.Drawing.Point(239, 16);
|
||||
this.LabelPortRangeSeperator.Name = "LabelPortRangeSeperator";
|
||||
this.LabelPortRangeSeperator.Size = new System.Drawing.Size(22, 13);
|
||||
this.LabelPortRangeSeperator.TabIndex = 16;
|
||||
this.LabelPortRangeSeperator.Text = "<->";
|
||||
this.toolTip1.SetToolTip(this.LabelPortRangeSeperator, "Host on the first available port found in specified range.");
|
||||
//
|
||||
// PortModeFirstAvailableRadioButton
|
||||
//
|
||||
this.PortModeFirstAvailableRadioButton.AutoSize = true;
|
||||
this.PortModeFirstAvailableRadioButton.Checked = true;
|
||||
this.PortModeFirstAvailableRadioButton.FlatStyle = System.Windows.Forms.FlatStyle.System;
|
||||
this.PortModeFirstAvailableRadioButton.Location = new System.Drawing.Point(128, 13);
|
||||
this.PortModeFirstAvailableRadioButton.Name = "PortModeFirstAvailableRadioButton";
|
||||
this.PortModeFirstAvailableRadioButton.Size = new System.Drawing.Size(63, 18);
|
||||
this.PortModeFirstAvailableRadioButton.TabIndex = 6;
|
||||
this.PortModeFirstAvailableRadioButton.TabStop = true;
|
||||
this.PortModeFirstAvailableRadioButton.Text = "Range";
|
||||
this.toolTip1.SetToolTip(this.PortModeFirstAvailableRadioButton, "Host on the first available port found in specified range.");
|
||||
this.PortModeFirstAvailableRadioButton.UseVisualStyleBackColor = true;
|
||||
this.PortModeFirstAvailableRadioButton.CheckedChanged += new System.EventHandler(this.RadioButtonPortFind_CheckedChanged);
|
||||
//
|
||||
// PortModeSpecificRadioButton
|
||||
//
|
||||
this.PortModeSpecificRadioButton.AutoSize = true;
|
||||
this.PortModeSpecificRadioButton.FlatStyle = System.Windows.Forms.FlatStyle.System;
|
||||
this.PortModeSpecificRadioButton.Location = new System.Drawing.Point(6, 13);
|
||||
this.PortModeSpecificRadioButton.Name = "PortModeSpecificRadioButton";
|
||||
this.PortModeSpecificRadioButton.Size = new System.Drawing.Size(69, 18);
|
||||
this.PortModeSpecificRadioButton.TabIndex = 6;
|
||||
this.PortModeSpecificRadioButton.TabStop = true;
|
||||
this.PortModeSpecificRadioButton.Text = "Specific";
|
||||
this.toolTip1.SetToolTip(this.PortModeSpecificRadioButton, "Host on specific port. \r\nIf port is already in use a warning will be issued and s" +
|
||||
"erver will not start.");
|
||||
this.PortModeSpecificRadioButton.UseVisualStyleBackColor = true;
|
||||
this.PortModeSpecificRadioButton.CheckedChanged += new System.EventHandler(this.RadioButtonPortSpecific_CheckedChanged);
|
||||
//
|
||||
// GroupBoxIPAddress
|
||||
//
|
||||
this.GroupBoxIPAddress.Controls.Add(this.IPSpecificTextBox);
|
||||
this.GroupBoxIPAddress.Controls.Add(this.IPV6CheckBox);
|
||||
this.GroupBoxIPAddress.Controls.Add(this.RadioButtonIPSpecific);
|
||||
this.GroupBoxIPAddress.Controls.Add(this.IPModeAnyRadioButton);
|
||||
this.GroupBoxIPAddress.Controls.Add(this.IPModeLoopBackRadioButton);
|
||||
this.GroupBoxIPAddress.Location = new System.Drawing.Point(12, 154);
|
||||
this.GroupBoxIPAddress.Name = "GroupBoxIPAddress";
|
||||
this.GroupBoxIPAddress.Size = new System.Drawing.Size(324, 58);
|
||||
this.GroupBoxIPAddress.TabIndex = 8;
|
||||
this.GroupBoxIPAddress.TabStop = false;
|
||||
this.GroupBoxIPAddress.Text = "IP Address";
|
||||
//
|
||||
// IPSpecificTextBox
|
||||
//
|
||||
this.IPSpecificTextBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.IPSpecificTextBox.FormattingEnabled = true;
|
||||
this.IPSpecificTextBox.Location = new System.Drawing.Point(216, 14);
|
||||
this.IPSpecificTextBox.Name = "IPSpecificTextBox";
|
||||
this.IPSpecificTextBox.Size = new System.Drawing.Size(101, 21);
|
||||
this.IPSpecificTextBox.TabIndex = 9;
|
||||
//
|
||||
// IPV6CheckBox
|
||||
//
|
||||
this.IPV6CheckBox.AutoSize = true;
|
||||
this.IPV6CheckBox.FlatStyle = System.Windows.Forms.FlatStyle.System;
|
||||
this.IPV6CheckBox.Location = new System.Drawing.Point(39, 35);
|
||||
this.IPV6CheckBox.Name = "IPV6CheckBox";
|
||||
this.IPV6CheckBox.Size = new System.Drawing.Size(77, 18);
|
||||
this.IPV6CheckBox.TabIndex = 8;
|
||||
this.IPV6CheckBox.Text = "Use IPV6";
|
||||
this.toolTip1.SetToolTip(this.IPV6CheckBox, "Use the IPV6 version of selected IP");
|
||||
this.IPV6CheckBox.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// RadioButtonIPSpecific
|
||||
//
|
||||
this.RadioButtonIPSpecific.AutoSize = true;
|
||||
this.RadioButtonIPSpecific.FlatStyle = System.Windows.Forms.FlatStyle.System;
|
||||
this.RadioButtonIPSpecific.Location = new System.Drawing.Point(150, 15);
|
||||
this.RadioButtonIPSpecific.Name = "RadioButtonIPSpecific";
|
||||
this.RadioButtonIPSpecific.Size = new System.Drawing.Size(69, 18);
|
||||
this.RadioButtonIPSpecific.TabIndex = 5;
|
||||
this.RadioButtonIPSpecific.Text = "Specific";
|
||||
this.toolTip1.SetToolTip(this.RadioButtonIPSpecific, "Host on specified IP address.\r\nWCF Services may not be served using this setting." +
|
||||
" Use Loopback.");
|
||||
this.RadioButtonIPSpecific.UseVisualStyleBackColor = true;
|
||||
this.RadioButtonIPSpecific.CheckedChanged += new System.EventHandler(this.RadioButtonIPSpecific_CheckedChanged);
|
||||
//
|
||||
// IPModeAnyRadioButton
|
||||
//
|
||||
this.IPModeAnyRadioButton.AutoSize = true;
|
||||
this.IPModeAnyRadioButton.FlatStyle = System.Windows.Forms.FlatStyle.System;
|
||||
this.IPModeAnyRadioButton.Location = new System.Drawing.Point(88, 15);
|
||||
this.IPModeAnyRadioButton.Name = "IPModeAnyRadioButton";
|
||||
this.IPModeAnyRadioButton.Size = new System.Drawing.Size(49, 18);
|
||||
this.IPModeAnyRadioButton.TabIndex = 5;
|
||||
this.IPModeAnyRadioButton.Text = "Any";
|
||||
this.toolTip1.SetToolTip(this.IPModeAnyRadioButton, "Host on all IP addresses at the specified port.\r\nWCF Services may not be served u" +
|
||||
"sing this setting. Use Loopback.");
|
||||
this.IPModeAnyRadioButton.UseVisualStyleBackColor = true;
|
||||
this.IPModeAnyRadioButton.CheckedChanged += new System.EventHandler(this.RadioButtonIPAny_CheckedChanged);
|
||||
//
|
||||
// IPModeLoopBackRadioButton
|
||||
//
|
||||
this.IPModeLoopBackRadioButton.AutoSize = true;
|
||||
this.IPModeLoopBackRadioButton.Checked = true;
|
||||
this.IPModeLoopBackRadioButton.FlatStyle = System.Windows.Forms.FlatStyle.System;
|
||||
this.IPModeLoopBackRadioButton.Location = new System.Drawing.Point(6, 15);
|
||||
this.IPModeLoopBackRadioButton.Name = "IPModeLoopBackRadioButton";
|
||||
this.IPModeLoopBackRadioButton.Size = new System.Drawing.Size(79, 18);
|
||||
this.IPModeLoopBackRadioButton.TabIndex = 5;
|
||||
this.IPModeLoopBackRadioButton.TabStop = true;
|
||||
this.IPModeLoopBackRadioButton.Text = "Loopback";
|
||||
this.toolTip1.SetToolTip(this.IPModeLoopBackRadioButton, "Use the default loopback adapter. \r\nIf any sort of WCF service is to be served, t" +
|
||||
"his is the only viable option.");
|
||||
this.IPModeLoopBackRadioButton.UseVisualStyleBackColor = true;
|
||||
this.IPModeLoopBackRadioButton.CheckedChanged += new System.EventHandler(this.RadioButtonIPLoopBack_CheckedChanged);
|
||||
//
|
||||
// ButtonStart
|
||||
//
|
||||
this.ButtonStart.Location = new System.Drawing.Point(261, 335);
|
||||
this.ButtonStart.Name = "ButtonStart";
|
||||
this.ButtonStart.Size = new System.Drawing.Size(75, 23);
|
||||
this.ButtonStart.TabIndex = 22;
|
||||
this.ButtonStart.Text = "Start";
|
||||
this.toolTip1.SetToolTip(this.ButtonStart, "Start hosting application using specified criteria");
|
||||
this.ButtonStart.UseVisualStyleBackColor = true;
|
||||
this.ButtonStart.Click += new System.EventHandler(this.StartStop);
|
||||
//
|
||||
// errorProvider1
|
||||
//
|
||||
this.errorProvider1.ContainerControl = this;
|
||||
//
|
||||
// LabelIdleTimeOut
|
||||
//
|
||||
this.LabelIdleTimeOut.AutoSize = true;
|
||||
this.LabelIdleTimeOut.Location = new System.Drawing.Point(15, 270);
|
||||
this.LabelIdleTimeOut.Name = "LabelIdleTimeOut";
|
||||
this.LabelIdleTimeOut.Size = new System.Drawing.Size(73, 13);
|
||||
this.LabelIdleTimeOut.TabIndex = 26;
|
||||
this.LabelIdleTimeOut.Text = "Idle Time Out:";
|
||||
this.toolTip1.SetToolTip(this.LabelIdleTimeOut, "The amount of time, in milliseconds, to remain idle, i.e. no requests, before sto" +
|
||||
"pping the server.");
|
||||
//
|
||||
// TrayIcon
|
||||
//
|
||||
this.TrayIcon.ContextMenuStrip = this.contextMenuStrip1;
|
||||
this.TrayIcon.Icon = ((System.Drawing.Icon)(resources.GetObject("TrayIcon.Icon")));
|
||||
this.TrayIcon.Text = "notifyIcon1";
|
||||
this.TrayIcon.BalloonTipClicked += new System.EventHandler(this.ShowMainForm);
|
||||
this.TrayIcon.DoubleClick += new System.EventHandler(this.ShowMainForm);
|
||||
//
|
||||
// contextMenuStrip1
|
||||
//
|
||||
this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.showToolStripMenuItem,
|
||||
this.browseToolStripMenuItem,
|
||||
this.toolStripSeparator2,
|
||||
this.ShowLogMenuItem,
|
||||
this.toolStripSeparator1,
|
||||
this.closeToolStripMenuItem,
|
||||
this.helpToolStripMenuItem});
|
||||
this.contextMenuStrip1.Name = "contextMenuStrip1";
|
||||
this.contextMenuStrip1.Size = new System.Drawing.Size(117, 126);
|
||||
//
|
||||
// showToolStripMenuItem
|
||||
//
|
||||
this.showToolStripMenuItem.Name = "showToolStripMenuItem";
|
||||
this.showToolStripMenuItem.Size = new System.Drawing.Size(116, 22);
|
||||
this.showToolStripMenuItem.Text = "&Show";
|
||||
this.showToolStripMenuItem.Click += new System.EventHandler(this.ShowMainForm);
|
||||
//
|
||||
// browseToolStripMenuItem
|
||||
//
|
||||
this.browseToolStripMenuItem.Name = "browseToolStripMenuItem";
|
||||
this.browseToolStripMenuItem.Size = new System.Drawing.Size(116, 22);
|
||||
this.browseToolStripMenuItem.Text = "&Browse";
|
||||
this.browseToolStripMenuItem.Click += new System.EventHandler(this.LaunchBrowser);
|
||||
//
|
||||
// toolStripSeparator2
|
||||
//
|
||||
this.toolStripSeparator2.Name = "toolStripSeparator2";
|
||||
this.toolStripSeparator2.Size = new System.Drawing.Size(113, 6);
|
||||
//
|
||||
// ShowLogMenuItem
|
||||
//
|
||||
this.ShowLogMenuItem.Enabled = false;
|
||||
this.ShowLogMenuItem.Name = "ShowLogMenuItem";
|
||||
this.ShowLogMenuItem.Size = new System.Drawing.Size(116, 22);
|
||||
this.ShowLogMenuItem.Text = "&View Log";
|
||||
this.ShowLogMenuItem.Click += new System.EventHandler(this.ShowLog);
|
||||
//
|
||||
// toolStripSeparator1
|
||||
//
|
||||
this.toolStripSeparator1.Name = "toolStripSeparator1";
|
||||
this.toolStripSeparator1.Size = new System.Drawing.Size(113, 6);
|
||||
//
|
||||
// closeToolStripMenuItem
|
||||
//
|
||||
this.closeToolStripMenuItem.Name = "closeToolStripMenuItem";
|
||||
this.closeToolStripMenuItem.Size = new System.Drawing.Size(116, 22);
|
||||
this.closeToolStripMenuItem.Text = "&Exit";
|
||||
this.closeToolStripMenuItem.Click += new System.EventHandler(this.ExitApp);
|
||||
//
|
||||
// helpToolStripMenuItem
|
||||
//
|
||||
this.helpToolStripMenuItem.Name = "helpToolStripMenuItem";
|
||||
this.helpToolStripMenuItem.Size = new System.Drawing.Size(116, 22);
|
||||
this.helpToolStripMenuItem.Text = "&Help";
|
||||
this.helpToolStripMenuItem.Click += new System.EventHandler(this.ShowHelp);
|
||||
//
|
||||
// statusStrip1
|
||||
//
|
||||
this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.toolStripStatusLabel1});
|
||||
this.statusStrip1.Location = new System.Drawing.Point(0, 370);
|
||||
this.statusStrip1.Name = "statusStrip1";
|
||||
this.statusStrip1.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional;
|
||||
this.statusStrip1.Size = new System.Drawing.Size(343, 22);
|
||||
this.statusStrip1.SizingGrip = false;
|
||||
this.statusStrip1.TabIndex = 27;
|
||||
this.statusStrip1.Text = "statusStrip1";
|
||||
//
|
||||
// toolStripStatusLabel1
|
||||
//
|
||||
this.toolStripStatusLabel1.Name = "toolStripStatusLabel1";
|
||||
this.toolStripStatusLabel1.Size = new System.Drawing.Size(118, 17);
|
||||
this.toolStripStatusLabel1.Text = "ASP.Net Version XXXXX";
|
||||
//
|
||||
// ShowLogButton
|
||||
//
|
||||
this.ShowLogButton.Location = new System.Drawing.Point(176, 335);
|
||||
this.ShowLogButton.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.ShowLogButton.Name = "ShowLogButton";
|
||||
this.ShowLogButton.Size = new System.Drawing.Size(75, 23);
|
||||
this.ShowLogButton.TabIndex = 28;
|
||||
this.ShowLogButton.Text = "Show &Log";
|
||||
this.ShowLogButton.Click += new System.EventHandler(this.ShowLog);
|
||||
//
|
||||
// menuStrip1
|
||||
//
|
||||
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.fileToolStripMenuItem,
|
||||
this.optionsToolStripMenuItem,
|
||||
this.helpToolStripMenuItem1});
|
||||
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
|
||||
this.menuStrip1.Name = "menuStrip1";
|
||||
this.menuStrip1.Size = new System.Drawing.Size(343, 24);
|
||||
this.menuStrip1.TabIndex = 29;
|
||||
this.menuStrip1.Text = "menuStrip1";
|
||||
//
|
||||
// fileToolStripMenuItem
|
||||
//
|
||||
this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.hideToolStripMenuItem,
|
||||
this.toolStripSeparator4,
|
||||
this.exitToolStripMenuItem});
|
||||
this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
|
||||
this.fileToolStripMenuItem.Size = new System.Drawing.Size(35, 20);
|
||||
this.fileToolStripMenuItem.Text = "&File";
|
||||
//
|
||||
// hideToolStripMenuItem
|
||||
//
|
||||
this.hideToolStripMenuItem.Name = "hideToolStripMenuItem";
|
||||
this.hideToolStripMenuItem.Size = new System.Drawing.Size(95, 22);
|
||||
this.hideToolStripMenuItem.Text = "&Hide";
|
||||
this.hideToolStripMenuItem.Click += new System.EventHandler(this.HideMainForm);
|
||||
//
|
||||
// toolStripSeparator4
|
||||
//
|
||||
this.toolStripSeparator4.Name = "toolStripSeparator4";
|
||||
this.toolStripSeparator4.Size = new System.Drawing.Size(92, 6);
|
||||
//
|
||||
// exitToolStripMenuItem
|
||||
//
|
||||
this.exitToolStripMenuItem.Name = "exitToolStripMenuItem";
|
||||
this.exitToolStripMenuItem.Size = new System.Drawing.Size(95, 22);
|
||||
this.exitToolStripMenuItem.Text = "E&xit";
|
||||
this.exitToolStripMenuItem.Click += new System.EventHandler(this.ExitApp);
|
||||
//
|
||||
// optionsToolStripMenuItem
|
||||
//
|
||||
this.optionsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.nTLMAuthenticationRequiredToolStripMenuItem,
|
||||
this.directoryBrowsingEnabledToolStripMenuItem});
|
||||
this.optionsToolStripMenuItem.Name = "optionsToolStripMenuItem";
|
||||
this.optionsToolStripMenuItem.Size = new System.Drawing.Size(56, 20);
|
||||
this.optionsToolStripMenuItem.Text = "&Options";
|
||||
//
|
||||
// nTLMAuthenticationRequiredToolStripMenuItem
|
||||
//
|
||||
this.nTLMAuthenticationRequiredToolStripMenuItem.CheckOnClick = true;
|
||||
this.nTLMAuthenticationRequiredToolStripMenuItem.Name = "nTLMAuthenticationRequiredToolStripMenuItem";
|
||||
this.nTLMAuthenticationRequiredToolStripMenuItem.Size = new System.Drawing.Size(219, 22);
|
||||
this.nTLMAuthenticationRequiredToolStripMenuItem.Text = "NTLM Authentication Required";
|
||||
this.nTLMAuthenticationRequiredToolStripMenuItem.ToolTipText = "When checked, require windows authentication via NTLM.";
|
||||
//
|
||||
// directoryBrowsingEnabledToolStripMenuItem
|
||||
//
|
||||
this.directoryBrowsingEnabledToolStripMenuItem.Checked = true;
|
||||
this.directoryBrowsingEnabledToolStripMenuItem.CheckOnClick = true;
|
||||
this.directoryBrowsingEnabledToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.directoryBrowsingEnabledToolStripMenuItem.Name = "directoryBrowsingEnabledToolStripMenuItem";
|
||||
this.directoryBrowsingEnabledToolStripMenuItem.Size = new System.Drawing.Size(219, 22);
|
||||
this.directoryBrowsingEnabledToolStripMenuItem.Text = "Directory Browsing Enabled";
|
||||
this.directoryBrowsingEnabledToolStripMenuItem.ToolTipText = "When checked, if no default document is found display a directory listing.";
|
||||
//
|
||||
// helpToolStripMenuItem1
|
||||
//
|
||||
this.helpToolStripMenuItem1.Name = "helpToolStripMenuItem1";
|
||||
this.helpToolStripMenuItem1.Size = new System.Drawing.Size(40, 20);
|
||||
this.helpToolStripMenuItem1.Text = "&Help";
|
||||
this.helpToolStripMenuItem1.Click += new System.EventHandler(this.ShowHelp);
|
||||
//
|
||||
// TimeOutNumeric
|
||||
//
|
||||
this.TimeOutNumeric.Increment = new decimal(new int[] {
|
||||
1000,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.TimeOutNumeric.Location = new System.Drawing.Point(95, 266);
|
||||
this.TimeOutNumeric.Maximum = new decimal(new int[] {
|
||||
2000000000,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.TimeOutNumeric.Name = "TimeOutNumeric";
|
||||
this.TimeOutNumeric.Size = new System.Drawing.Size(66, 20);
|
||||
this.TimeOutNumeric.TabIndex = 30;
|
||||
//
|
||||
// FormView
|
||||
//
|
||||
this.AcceptButton = this.ButtonStart;
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.BackColor = System.Drawing.SystemColors.Control;
|
||||
this.ClientSize = new System.Drawing.Size(343, 392);
|
||||
this.Controls.Add(this.menuStrip1);
|
||||
this.Controls.Add(this.TimeOutNumeric);
|
||||
this.Controls.Add(this.statusStrip1);
|
||||
this.Controls.Add(this.LabelIdleTimeOut);
|
||||
this.Controls.Add(this.ApplicationPathTextBox);
|
||||
this.Controls.Add(this.ShowLogButton);
|
||||
this.Controls.Add(this.VirtualPathTextBox);
|
||||
this.Controls.Add(this.HostNameTextBox);
|
||||
this.Controls.Add(this.RootUrlLinkLabel);
|
||||
this.Controls.Add(this.LabelPhysicalPath);
|
||||
this.Controls.Add(this.LabelVPath);
|
||||
this.Controls.Add(this.GroupBoxIPAddress);
|
||||
this.Controls.Add(this.ButtonStart);
|
||||
this.Controls.Add(this.AddHostEntryCheckBox);
|
||||
this.Controls.Add(this.GroupBoxPort);
|
||||
this.Controls.Add(this.ButtonBrowsePhysicalPath);
|
||||
this.Controls.Add(this.LabelHostName);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = "FormView";
|
||||
this.ShowInTaskbar = false;
|
||||
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
|
||||
this.Text = "Cassini Developer Edition";
|
||||
this.WindowState = System.Windows.Forms.FormWindowState.Minimized;
|
||||
this.GroupBoxPort.ResumeLayout(false);
|
||||
this.GroupBoxPort.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.PortRangeEndTextBox)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.PortRangeStartTextBox)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.PortTextBox)).EndInit();
|
||||
this.GroupBoxIPAddress.ResumeLayout(false);
|
||||
this.GroupBoxIPAddress.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.errorProvider1)).EndInit();
|
||||
this.contextMenuStrip1.ResumeLayout(false);
|
||||
this.statusStrip1.ResumeLayout(false);
|
||||
this.statusStrip1.PerformLayout();
|
||||
this.menuStrip1.ResumeLayout(false);
|
||||
this.menuStrip1.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.TimeOutNumeric)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.LinkLabel RootUrlLinkLabel;
|
||||
private System.Windows.Forms.TextBox ApplicationPathTextBox;
|
||||
private System.Windows.Forms.TextBox VirtualPathTextBox;
|
||||
private System.Windows.Forms.TextBox HostNameTextBox;
|
||||
private System.Windows.Forms.Label LabelPhysicalPath;
|
||||
private System.Windows.Forms.CheckBox AddHostEntryCheckBox;
|
||||
private System.Windows.Forms.Label LabelVPath;
|
||||
private System.Windows.Forms.Button ButtonBrowsePhysicalPath;
|
||||
private System.Windows.Forms.Label LabelHostName;
|
||||
private System.Windows.Forms.GroupBox GroupBoxPort;
|
||||
private System.Windows.Forms.Label LabelPortRangeSeperator;
|
||||
private System.Windows.Forms.RadioButton PortModeFirstAvailableRadioButton;
|
||||
private System.Windows.Forms.RadioButton PortModeSpecificRadioButton;
|
||||
private System.Windows.Forms.GroupBox GroupBoxIPAddress;
|
||||
private System.Windows.Forms.RadioButton RadioButtonIPSpecific;
|
||||
private System.Windows.Forms.RadioButton IPModeAnyRadioButton;
|
||||
private System.Windows.Forms.RadioButton IPModeLoopBackRadioButton;
|
||||
private System.Windows.Forms.Button ButtonStart;
|
||||
private System.Windows.Forms.CheckBox IPV6CheckBox;
|
||||
private System.Windows.Forms.ErrorProvider errorProvider1;
|
||||
private System.Windows.Forms.ToolTip toolTip1;
|
||||
private System.Windows.Forms.Label LabelIdleTimeOut;
|
||||
internal System.Windows.Forms.NotifyIcon TrayIcon;
|
||||
private System.Windows.Forms.ContextMenuStrip contextMenuStrip1;
|
||||
private System.Windows.Forms.ToolStripMenuItem showToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem browseToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator2;
|
||||
private System.Windows.Forms.ToolStripMenuItem ShowLogMenuItem;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
|
||||
private System.Windows.Forms.ToolStripMenuItem closeToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem helpToolStripMenuItem;
|
||||
private System.Windows.Forms.StatusStrip statusStrip1;
|
||||
private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel1;
|
||||
private System.Windows.Forms.Button ShowLogButton;
|
||||
private System.Windows.Forms.MenuStrip menuStrip1;
|
||||
private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem hideToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator4;
|
||||
private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem optionsToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem helpToolStripMenuItem1;
|
||||
private System.Windows.Forms.ToolStripMenuItem nTLMAuthenticationRequiredToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem directoryBrowsingEnabledToolStripMenuItem;
|
||||
private System.Windows.Forms.NumericUpDown TimeOutNumeric;
|
||||
private System.Windows.Forms.NumericUpDown PortTextBox;
|
||||
private System.Windows.Forms.NumericUpDown PortRangeStartTextBox;
|
||||
private System.Windows.Forms.NumericUpDown PortRangeEndTextBox;
|
||||
private System.Windows.Forms.ComboBox IPSpecificTextBox;
|
||||
}
|
||||
}
|
|
@ -1,834 +0,0 @@
|
|||
// **********************************************************************************
|
||||
// CassiniDev - http://cassinidev.codeplex.com
|
||||
//
|
||||
// Copyright (c) Sky Sanders. All rights reserved.
|
||||
//
|
||||
// This source code is subject to terms and conditions of the Microsoft Public
|
||||
// License (Ms-PL). A copy of the license can be found in the license.htm file
|
||||
// included in this distribution.
|
||||
//
|
||||
// You must not remove this notice, or any other, from this software.
|
||||
//
|
||||
// **********************************************************************************
|
||||
|
||||
#region
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Reflection;
|
||||
using System.Threading;
|
||||
using System.Windows.Forms;
|
||||
using CassiniDev.ServerLog;
|
||||
|
||||
#endregion
|
||||
|
||||
namespace CassiniDev
|
||||
{
|
||||
public partial class FormView : Form
|
||||
{
|
||||
#region Fields
|
||||
|
||||
private bool _automated;
|
||||
|
||||
private LogView _logForm;
|
||||
|
||||
private RunState _runState;
|
||||
|
||||
private Server _server;
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
public FormView(Server server)
|
||||
{
|
||||
_server = server;
|
||||
InitializeComponent();
|
||||
InitializeUI();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Properties
|
||||
|
||||
internal bool AddHost
|
||||
{
|
||||
get { return AddHostEntryCheckBox.Checked; }
|
||||
set { AddHostEntryCheckBox.Checked = value; }
|
||||
}
|
||||
|
||||
internal string ApplicationPath
|
||||
{
|
||||
get { return ApplicationPathTextBox.Text; }
|
||||
set { ApplicationPathTextBox.Text = value; }
|
||||
}
|
||||
|
||||
internal string HostName
|
||||
{
|
||||
get { return HostNameTextBox.Text; }
|
||||
set { HostNameTextBox.Text = value; }
|
||||
}
|
||||
|
||||
internal string IPAddress
|
||||
{
|
||||
get { return IPSpecificTextBox.Text; }
|
||||
set { IPSpecificTextBox.Text = value; }
|
||||
}
|
||||
|
||||
internal IPMode IPMode
|
||||
{
|
||||
get { return GetIpMode(); }
|
||||
set { SetIpMode(value); }
|
||||
}
|
||||
|
||||
|
||||
internal bool NoDirList
|
||||
{
|
||||
get { return !directoryBrowsingEnabledToolStripMenuItem.Checked; }
|
||||
set { directoryBrowsingEnabledToolStripMenuItem.Checked = !value; }
|
||||
}
|
||||
|
||||
internal bool NtmlAuthenticationRequired
|
||||
{
|
||||
get { return nTLMAuthenticationRequiredToolStripMenuItem.Checked; }
|
||||
set { nTLMAuthenticationRequiredToolStripMenuItem.Checked = value; }
|
||||
}
|
||||
|
||||
internal int Port
|
||||
{
|
||||
get { return (int)PortTextBox.Value; }
|
||||
set { PortTextBox.Value = value; }
|
||||
}
|
||||
|
||||
internal PortMode PortMode
|
||||
{
|
||||
get { return GetPortMode(); }
|
||||
set { SetPortMode(value); }
|
||||
}
|
||||
|
||||
internal int PortRangeEnd
|
||||
{
|
||||
get { return (int)PortRangeEndTextBox.Value; }
|
||||
set { PortRangeEndTextBox.Value = value; }
|
||||
}
|
||||
|
||||
internal int PortRangeStart
|
||||
{
|
||||
get { return (int)PortRangeStartTextBox.Value; }
|
||||
set { PortRangeStartTextBox.Value = value; }
|
||||
}
|
||||
|
||||
internal string RootUrl
|
||||
{
|
||||
get { return RootUrlLinkLabel.Text; }
|
||||
set
|
||||
{
|
||||
RootUrlLinkLabel.Text = value;
|
||||
RootUrlLinkLabel.Visible = !string.IsNullOrEmpty(value);
|
||||
}
|
||||
}
|
||||
|
||||
internal RunState RunState
|
||||
{
|
||||
get { return _runState; }
|
||||
}
|
||||
|
||||
internal int TimeOut
|
||||
{
|
||||
get { return (int)TimeOutNumeric.Value; }
|
||||
set { TimeOutNumeric.Value = value; }
|
||||
}
|
||||
|
||||
internal bool V6
|
||||
{
|
||||
get { return IPV6CheckBox.Checked; }
|
||||
set { IPV6CheckBox.Checked = value; }
|
||||
}
|
||||
|
||||
internal string VirtualPath
|
||||
{
|
||||
get { return VirtualPathTextBox.Text; }
|
||||
set { VirtualPathTextBox.Text = value; }
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Protected Methods
|
||||
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
|
||||
if (disposing && _server != null)
|
||||
{
|
||||
_server.Dispose();
|
||||
_server = null;
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// If the form is closing we need to determine whether to exit
|
||||
/// or to minimize to tray.
|
||||
/// </summary>
|
||||
/// <param name="e"></param>
|
||||
protected override void OnClosing(CancelEventArgs e)
|
||||
{
|
||||
// if explicit closure or we are doing nothing then exit app.
|
||||
if (RunState == RunState.Idle)
|
||||
{
|
||||
InvokeStop();
|
||||
}
|
||||
else
|
||||
{
|
||||
WindowState = FormWindowState.Minimized;
|
||||
e.Cancel = true;
|
||||
}
|
||||
}
|
||||
|
||||
//protected override void OnShown(EventArgs e)
|
||||
//{
|
||||
// if (_automated)
|
||||
// {
|
||||
// WindowState = FormWindowState.Minimized;
|
||||
// Hide();
|
||||
// }
|
||||
//}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Private Methods
|
||||
|
||||
|
||||
private void InitializeUI()
|
||||
{
|
||||
ButtonStart.Text = SR.GetString(SR.WebdevStart);
|
||||
toolStripStatusLabel1.Text = SR.GetString(SR.WebdevAspNetVersion, Common.GetAspVersion());
|
||||
|
||||
|
||||
// if sqlite is missing then just silently enable in-memory logging,
|
||||
// hide the enable logging item and enable view log item
|
||||
|
||||
|
||||
|
||||
ShowLogButton.Enabled = false;
|
||||
|
||||
|
||||
|
||||
toolStripStatusLabel1.Text = SR.GetString(SR.WebdevAspNetVersion, Common.GetAspVersion());
|
||||
|
||||
List<IPAddress> localAddresses = new List<IPAddress>(CassiniNetworkUtils.GetLocalAddresses());
|
||||
localAddresses.Insert(0, System.Net.IPAddress.IPv6Loopback);
|
||||
localAddresses.Insert(0, System.Net.IPAddress.Loopback);
|
||||
|
||||
IPSpecificTextBox.Items.AddRange(localAddresses.Select(i => i.ToString()).ToArray());
|
||||
if (IPSpecificTextBox.Items.Count > 0)
|
||||
{
|
||||
IPSpecificTextBox.SelectedIndex = 0;
|
||||
IPSpecificTextBox.Text = IPSpecificTextBox.Items[0].ToString();
|
||||
}
|
||||
|
||||
InvokeSetRunState(RunState.Idle);
|
||||
if (_server == null)
|
||||
{
|
||||
ShowMainForm();
|
||||
}
|
||||
else
|
||||
{
|
||||
_automated = true;
|
||||
_server.TimedOut += OnTimedOut;
|
||||
IPMode = IPMode.Specific;
|
||||
PortMode = PortMode.Specific;
|
||||
|
||||
UpdateUIFromServer();
|
||||
|
||||
|
||||
InvokeSetRunState(RunState.Running);
|
||||
base.Text = SR.GetString(SR.WebdevNameWithPort, _server.Port);
|
||||
TrayIcon.Visible = true;
|
||||
DisplayTrayTip();
|
||||
}
|
||||
}
|
||||
|
||||
private void DisplayTrayTip()
|
||||
{
|
||||
|
||||
if (_server==null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
TrayIcon.Text = _server.RootUrl;
|
||||
string trayBaloonText = _server.RootUrl;
|
||||
TrayIcon.ShowBalloonTip(5000, base.Text, trayBaloonText, ToolTipIcon.Info);
|
||||
}
|
||||
|
||||
private void UpdateUIFromServer()
|
||||
{
|
||||
base.Text = SR.GetString(SR.WebdevNameWithPort, _server.Port);
|
||||
RootUrl = _server.RootUrl;
|
||||
ApplicationPath = _server.PhysicalPath;
|
||||
IPAddress = _server.IPAddress.ToString();
|
||||
Port = _server.Port;
|
||||
HostName = _server.HostName;
|
||||
NtmlAuthenticationRequired = _server.RequireAuthentication;
|
||||
NoDirList = _server.DisableDirectoryListing;
|
||||
TimeOut = _server.TimeoutInterval;
|
||||
}
|
||||
|
||||
protected override void OnResize(EventArgs e)
|
||||
{
|
||||
if (WindowState == FormWindowState.Minimized)
|
||||
{
|
||||
Hide();
|
||||
DisplayTrayTip();
|
||||
ShowInTaskbar = false;
|
||||
}
|
||||
base.OnResize(e);
|
||||
}
|
||||
|
||||
|
||||
private void ShowMainForm()
|
||||
{
|
||||
Show();
|
||||
WindowState = FormWindowState.Normal;
|
||||
ShowInTaskbar = true;
|
||||
|
||||
|
||||
//TrayIcon.Visible = false;
|
||||
//ShowInTaskbar = true;
|
||||
|
||||
//TopMost = true;
|
||||
//Focus();
|
||||
//BringToFront();
|
||||
//TopMost = false;
|
||||
}
|
||||
|
||||
private void InvokeSetRunState(RunState state)
|
||||
{
|
||||
// use invoke, runstate may come from another thread.
|
||||
if (InvokeRequired)
|
||||
{
|
||||
Invoke(new ParameterizedThreadStart(SetRunState), state);
|
||||
}
|
||||
else
|
||||
{
|
||||
SetRunState(state);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets RunState and enables/disables form fields accordingly
|
||||
/// </summary>
|
||||
/// <param name="state"></param>
|
||||
private void SetRunState(object state)
|
||||
{
|
||||
_runState = (RunState)state;
|
||||
|
||||
switch (_runState)
|
||||
{
|
||||
case RunState.Idle:
|
||||
if (!_automated)
|
||||
{
|
||||
EnableForm();
|
||||
}
|
||||
// if not automated we are on our way out
|
||||
break;
|
||||
case RunState.Running:
|
||||
DisableForm();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
private void EnableForm()
|
||||
{
|
||||
ShowLogMenuItem.Enabled = ShowLogButton.Enabled = false;
|
||||
base.Text = SR.GetString(SR.WebdevName);
|
||||
ButtonStart.Text = "&Start";
|
||||
ButtonStart.Enabled = true;
|
||||
nTLMAuthenticationRequiredToolStripMenuItem.Enabled = true;
|
||||
directoryBrowsingEnabledToolStripMenuItem.Enabled = true;
|
||||
ApplicationPathTextBox.Enabled = true;
|
||||
ButtonBrowsePhysicalPath.Enabled = true;
|
||||
VirtualPathTextBox.Enabled = true;
|
||||
HostNameTextBox.Enabled = true;
|
||||
GroupBoxIPAddress.Enabled = true;
|
||||
GroupBoxPort.Enabled = true;
|
||||
LabelHostName.Enabled = true;
|
||||
LabelPhysicalPath.Enabled = true;
|
||||
LabelVPath.Enabled = true;
|
||||
TimeOutNumeric.Enabled = true;
|
||||
RootUrl = null;
|
||||
|
||||
AddHostEntryCheckBox.Enabled = !String.IsNullOrEmpty(HostName);
|
||||
|
||||
switch (IPMode)
|
||||
{
|
||||
case IPMode.Loopback:
|
||||
RadioButtonIPLoopBack_CheckedChanged(null, EventArgs.Empty);
|
||||
break;
|
||||
case IPMode.Any:
|
||||
RadioButtonIPAny_CheckedChanged(null, EventArgs.Empty);
|
||||
break;
|
||||
case IPMode.Specific:
|
||||
RadioButtonIPSpecific_CheckedChanged(null, EventArgs.Empty);
|
||||
break;
|
||||
}
|
||||
|
||||
switch (PortMode)
|
||||
{
|
||||
case PortMode.FirstAvailable:
|
||||
RadioButtonPortFind_CheckedChanged(null, EventArgs.Empty);
|
||||
break;
|
||||
case PortMode.Specific:
|
||||
RadioButtonPortSpecific_CheckedChanged(null, EventArgs.Empty);
|
||||
break;
|
||||
}
|
||||
|
||||
HostNameChanged(null, EventArgs.Empty);
|
||||
}
|
||||
|
||||
private void DisableForm()
|
||||
{
|
||||
ShowLogMenuItem.Enabled = ShowLogButton.Enabled = true;
|
||||
|
||||
TimeOutNumeric.Enabled = false;
|
||||
ButtonStart.Text = "&Stop";
|
||||
directoryBrowsingEnabledToolStripMenuItem.Enabled = false;
|
||||
nTLMAuthenticationRequiredToolStripMenuItem.Enabled = false;
|
||||
ApplicationPathTextBox.Enabled = false;
|
||||
ButtonBrowsePhysicalPath.Enabled = false;
|
||||
VirtualPathTextBox.Enabled = false;
|
||||
HostNameTextBox.Enabled = false;
|
||||
GroupBoxIPAddress.Enabled = false;
|
||||
GroupBoxPort.Enabled = false;
|
||||
AddHostEntryCheckBox.Enabled = false;
|
||||
LabelHostName.Enabled = false;
|
||||
LabelPhysicalPath.Enabled = false;
|
||||
LabelVPath.Enabled = false;
|
||||
}
|
||||
|
||||
private void HostNameChanged()
|
||||
{
|
||||
if (string.IsNullOrEmpty(HostName))
|
||||
{
|
||||
AddHostEntryCheckBox.Enabled = false;
|
||||
AddHost = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
AddHostEntryCheckBox.Enabled = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void StartStop()
|
||||
{
|
||||
if (RunState != RunState.Running)
|
||||
{
|
||||
DisableForm();
|
||||
Start();
|
||||
}
|
||||
else
|
||||
{
|
||||
InvokeStop();
|
||||
}
|
||||
}
|
||||
|
||||
private CommandLineArguments GetArgs()
|
||||
{
|
||||
CommandLineArguments args = new CommandLineArguments
|
||||
{
|
||||
AddHost = AddHost,
|
||||
ApplicationPath = ApplicationPath,
|
||||
HostName = HostName,
|
||||
IPAddress = IPAddress,
|
||||
IPMode = IPMode,
|
||||
IPv6 = V6,
|
||||
Port = Port,
|
||||
PortMode = PortMode,
|
||||
PortRangeEnd = PortRangeEnd,
|
||||
PortRangeStart = PortRangeStart,
|
||||
VirtualPath = VirtualPath,
|
||||
TimeOut = TimeOut,
|
||||
WaitForPort = 0,
|
||||
Ntlm = NtmlAuthenticationRequired,
|
||||
Nodirlist = NoDirList
|
||||
};
|
||||
return args;
|
||||
}
|
||||
private void Start()
|
||||
{
|
||||
// use CommandLineArguments as a pre validation tool
|
||||
|
||||
CommandLineArguments args = GetArgs();
|
||||
ClearError();
|
||||
|
||||
try
|
||||
{
|
||||
args.Validate();
|
||||
}
|
||||
|
||||
catch (CassiniException ex)
|
||||
{
|
||||
SetError(ex.Field, ex.Message);
|
||||
return;
|
||||
}
|
||||
|
||||
IPAddress = args.IPAddress;
|
||||
|
||||
Port = args.Port;
|
||||
|
||||
HostName = args.HostName;
|
||||
|
||||
_server = new Server(args.Port, args.VirtualPath, args.ApplicationPath,
|
||||
System.Net.IPAddress.Parse(args.IPAddress), args.HostName, args.TimeOut, args.Ntlm,
|
||||
args.Nodirlist);
|
||||
|
||||
if (args.AddHost)
|
||||
{
|
||||
HostsFile.AddHostEntry(_server.IPAddress.ToString(), _server.HostName);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
_server.Start();
|
||||
_server.TimedOut += OnTimedOut;
|
||||
UpdateUIFromServer();
|
||||
InvokeSetRunState(RunState.Running);
|
||||
|
||||
}
|
||||
|
||||
catch (Exception ex)
|
||||
{
|
||||
SetError(ErrorField.None, ex.Message);
|
||||
_server.Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The server could be stopped either by user action,
|
||||
/// timeout or exception. If by timeout, the call will be
|
||||
/// coming from another thread in another appdomain far far
|
||||
/// away, so we execise caution and wrap the method that
|
||||
/// actual does the stoppage in this invokable wrapper.
|
||||
/// </summary>
|
||||
private void InvokeStop()
|
||||
{
|
||||
if (InvokeRequired)
|
||||
{
|
||||
Invoke(new MethodInvoker(Stop));
|
||||
}
|
||||
else
|
||||
{
|
||||
Stop();
|
||||
}
|
||||
}
|
||||
|
||||
private void Stop()
|
||||
{
|
||||
// kill the start button so we don't get a start
|
||||
// signal before completely stopped.
|
||||
ButtonStart.Enabled = false;
|
||||
|
||||
// revert the host file modification, if necessary
|
||||
if (AddHost && RunState == RunState.Running)
|
||||
{
|
||||
HostsFile.RemoveHostEntry(_server.IPAddress.ToString(), _server.HostName);
|
||||
}
|
||||
|
||||
if (_server != null)
|
||||
{
|
||||
_server.TimedOut -= OnTimedOut;
|
||||
_server.Dispose();
|
||||
}
|
||||
|
||||
RootUrl = string.Empty;
|
||||
|
||||
InvokeSetRunState(RunState.Idle);
|
||||
|
||||
if (_automated)
|
||||
{
|
||||
ExitApp();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
private static void ExitApp()
|
||||
{
|
||||
Application.Exit();
|
||||
}
|
||||
|
||||
|
||||
private static void ShowHelp()
|
||||
{
|
||||
MessageBox.Show("help/about TODO");
|
||||
}
|
||||
|
||||
private void ShowLog()
|
||||
{
|
||||
if (_logForm == null || _logForm.IsDisposed)
|
||||
{
|
||||
_logForm = new LogView(_server);
|
||||
}
|
||||
_logForm.Show();
|
||||
_logForm.BringToFront();
|
||||
}
|
||||
|
||||
|
||||
private void BrowsePath()
|
||||
{
|
||||
FolderBrowserDialog fbd = new FolderBrowserDialog();
|
||||
|
||||
if (fbd.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
ApplicationPath = fbd.SelectedPath;
|
||||
}
|
||||
}
|
||||
|
||||
private void LaunchBrowser()
|
||||
{
|
||||
Process.Start(RootUrlLinkLabel.Text);
|
||||
}
|
||||
|
||||
|
||||
private IPMode GetIpMode()
|
||||
{
|
||||
IPMode result;
|
||||
if (IPModeAnyRadioButton.Checked)
|
||||
{
|
||||
result = IPMode.Any;
|
||||
}
|
||||
else if (IPModeLoopBackRadioButton.Checked)
|
||||
{
|
||||
result = IPMode.Loopback;
|
||||
}
|
||||
else
|
||||
{
|
||||
result = IPMode.Specific;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private PortMode GetPortMode()
|
||||
{
|
||||
return PortModeSpecificRadioButton.Checked ? PortMode.Specific : PortMode.FirstAvailable;
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void SetIpMode(IPMode value)
|
||||
{
|
||||
switch (value)
|
||||
{
|
||||
case IPMode.Loopback:
|
||||
IPModeLoopBackRadioButton.Checked = true;
|
||||
break;
|
||||
case IPMode.Any:
|
||||
IPModeAnyRadioButton.Checked = true;
|
||||
break;
|
||||
case IPMode.Specific:
|
||||
RadioButtonIPSpecific.Checked = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void SetPortMode(PortMode value)
|
||||
{
|
||||
switch (value)
|
||||
{
|
||||
case PortMode.FirstAvailable:
|
||||
PortModeFirstAvailableRadioButton.Checked = true;
|
||||
break;
|
||||
case PortMode.Specific:
|
||||
PortModeSpecificRadioButton.Checked = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void SetError(ErrorField field, string value)
|
||||
{
|
||||
EnableForm();
|
||||
switch (field)
|
||||
{
|
||||
case ErrorField.ApplicationPath:
|
||||
errorProvider1.SetError(ApplicationPathTextBox, value);
|
||||
break;
|
||||
case ErrorField.VirtualPath:
|
||||
errorProvider1.SetError(VirtualPathTextBox, value);
|
||||
break;
|
||||
case ErrorField.HostName:
|
||||
errorProvider1.SetError(HostNameTextBox, value);
|
||||
break;
|
||||
case ErrorField.IsAddHost:
|
||||
errorProvider1.SetError(AddHostEntryCheckBox, value);
|
||||
break;
|
||||
case ErrorField.IPAddress:
|
||||
errorProvider1.SetError(IPSpecificTextBox, value);
|
||||
break;
|
||||
case ErrorField.IPAddressAny:
|
||||
errorProvider1.SetError(IPModeAnyRadioButton, value);
|
||||
break;
|
||||
case ErrorField.IPAddressLoopBack:
|
||||
errorProvider1.SetError(IPModeLoopBackRadioButton, value);
|
||||
break;
|
||||
case ErrorField.Port:
|
||||
errorProvider1.SetError(PortTextBox, value);
|
||||
break;
|
||||
case ErrorField.PortRange:
|
||||
errorProvider1.SetError(PortRangeStartTextBox, value);
|
||||
errorProvider1.SetError(PortRangeEndTextBox, value);
|
||||
break;
|
||||
case ErrorField.PortRangeStart:
|
||||
errorProvider1.SetError(PortRangeStartTextBox, value);
|
||||
break;
|
||||
case ErrorField.PortRangeEnd:
|
||||
errorProvider1.SetError(PortRangeEndTextBox, value);
|
||||
break;
|
||||
case ErrorField.None:
|
||||
MessageBox.Show(value, "Error");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void ClearError()
|
||||
{
|
||||
errorProvider1.Clear();
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
#region Handlers
|
||||
|
||||
private void BrowsePath(object sender, EventArgs e)
|
||||
{
|
||||
BrowsePath();
|
||||
}
|
||||
|
||||
private void HideMainForm(object sender, EventArgs e)
|
||||
{
|
||||
Close();
|
||||
}
|
||||
|
||||
private void LaunchBrowser(object sender, EventArgs e)
|
||||
{
|
||||
LaunchBrowser();
|
||||
}
|
||||
|
||||
private void LaunchBrowser(object sender, LinkLabelLinkClickedEventArgs e)
|
||||
{
|
||||
LaunchBrowser();
|
||||
}
|
||||
|
||||
private void ShowHelp(object sender, EventArgs e)
|
||||
{
|
||||
ShowHelp();
|
||||
}
|
||||
|
||||
private void ShowLog(object sender, EventArgs e)
|
||||
{
|
||||
ShowLog();
|
||||
}
|
||||
|
||||
private void ShowMainForm(object sender, EventArgs e)
|
||||
{
|
||||
ShowMainForm();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Responds to the Start/Stop button
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void StartStop(object sender, EventArgs e)
|
||||
{
|
||||
StartStop();
|
||||
}
|
||||
|
||||
|
||||
private void ExitApp(object sender, EventArgs e)
|
||||
{
|
||||
ExitApp();
|
||||
}
|
||||
|
||||
private void HostNameChanged(object sender, EventArgs e)
|
||||
{
|
||||
HostNameChanged();
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// If a timeout value is specifically set and we
|
||||
/// get a timeout event, just exit the application.
|
||||
/// This should always be the case, but will be
|
||||
/// a bit forgiving here and perform a check before
|
||||
/// dumping.
|
||||
/// </summary>
|
||||
private void OnTimedOut(object sender, EventArgs e)
|
||||
{
|
||||
InvokeStop();
|
||||
|
||||
if (TimeOut > 0)
|
||||
{
|
||||
ExitApp();
|
||||
}
|
||||
else
|
||||
{
|
||||
ShowMainForm();
|
||||
}
|
||||
}
|
||||
|
||||
#region Hinky lookin radios that depend on known state. Could be a source of trouble.
|
||||
|
||||
private void RadioButtonIPAny_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
IPSpecificTextBox.Enabled = false;
|
||||
IPV6CheckBox.Enabled = true;
|
||||
}
|
||||
|
||||
private void RadioButtonIPLoopBack_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
IPSpecificTextBox.Enabled = false;
|
||||
IPV6CheckBox.Enabled = true;
|
||||
}
|
||||
|
||||
private void RadioButtonIPSpecific_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
IPSpecificTextBox.Enabled = true;
|
||||
IPV6CheckBox.Enabled = false;
|
||||
IPV6CheckBox.Checked = false;
|
||||
}
|
||||
|
||||
private void RadioButtonPortFind_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
PortTextBox.Enabled = false;
|
||||
PortRangeEndTextBox.Enabled = true;
|
||||
PortRangeStartTextBox.Enabled = true;
|
||||
}
|
||||
|
||||
private void RadioButtonPortSpecific_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
PortTextBox.Enabled = true;
|
||||
PortRangeEndTextBox.Enabled = false;
|
||||
PortRangeStartTextBox.Enabled = false;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
}
|
||||
}
|
|
@ -1,290 +0,0 @@
|
|||
<?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.Runtime.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:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<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" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</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" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</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>
|
||||
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>147, 17</value>
|
||||
</metadata>
|
||||
<data name="HostNameTextBox.ToolTip" xml:space="preserve">
|
||||
<value>The host name to use in place of 'localhost'.
|
||||
This value must be a valid DNS host name or be present in the local hosts file.
|
||||
You may check 'Add hosts entry' to add such an entry to the hosts file for the duration of the hosting session.
|
||||
Adding a hosts entry requires elevated permissions, both upon adding and again upon removal.</value>
|
||||
</data>
|
||||
<data name="AddHostEntryCheckBox.ToolTip" xml:space="preserve">
|
||||
<value>You may check 'Add hosts entry' to add such an entry to the hosts file for the duration of the hosting session.
|
||||
Adding a hosts entry requires elevated permissions, both upon adding and again upon removal.</value>
|
||||
</data>
|
||||
<data name="LabelHostName.ToolTip" xml:space="preserve">
|
||||
<value>The host name to use in place of 'localhost'.
|
||||
This value must be a valid DNS host name or be present in the local hosts file.
|
||||
You may check 'Add hosts entry' to add such an entry to the hosts file for the duration of the hosting session.
|
||||
Adding a hosts entry requires elevated permissions, both upon adding and again upon removal.
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="errorProvider1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>696, 17</value>
|
||||
</metadata>
|
||||
<metadata name="statusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>586, 17</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAEAMDAAAAAAAACoDgAAFgAAACgAAAAwAAAAYAAAAAEACAAAAAAAgAoAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAA////AA+V+QDGiDAAj7euAHsfFQDsxn4ATuv/AKrZ/gC7iH8AAeL+AJpRSQBJqs4Az8jEAHO+
|
||||
/gC3w4gA1axVAPnqygCNTRkAIMXvAK+BVQCVvtkAPqH8APTZpwDXsp8A0en9AK5mKQBpx78A06Z7AKqi
|
||||
kgBw3/4AqNXFAE/D/gC6wa4Ax5BjAIk1KwBiruMALJXkAAa4+ABDw9gAjs3/AKloXgDGm5MAcKu6AB3n
|
||||
/wDu7+4A6s5iALbS5gDOlkUAfs7oAKSVYACzb0QAo4Z1AJpLMQCeucEA4bdtAIHBxgC4xdAA48i5ANy2
|
||||
iQAhqukAVcHLAL2lfwCzemsAvoRNADLM/QCpgTsA6MqYACmY+wDw370At5dwAF2z/gCoXj0Aqq6kAAjN
|
||||
+QCPqaAAu3gvAMazlAC+4v8Au5pOANDBogCjVSQAkTodAGLZ/wCV3P4Au6WgAJLJogCqxaEA1KZqAHiz
|
||||
1wCgb1IAr6+UAGXo/wDFk30AycSHAHfN+wDUqYsAqcrYAES95QCF2f4AhSwfADjK5gCOxOYAyrV+ALGa
|
||||
fAC7flkAosCzAGbH/wCRucAAFLf0AJNHPQDCztsAvIZtAF682ADawnUAsohkAKJcTwDH3/IA1KBQAMa7
|
||||
ogCZsKoAoWo+APfgrQC4u78A8tWaAMmSUQDLpJwAmEUhAI09MACSzN4A0Jk6AK5vWQCw1/IAy5huANW/
|
||||
lwDpwHMAzbBlABjL9ADbvKsAhsT0AKV6bgCod10Asod2ALavqQDqx4cA2K96AKRXLwDIjjwAwZGJAODE
|
||||
ngCbXDkAunpDAOW+ewDAhmAAcNT/ALJuMgCe0/8AhsS5AKOoogAluecAosrBAALY/QB/xf4AYsPNAMOo
|
||||
iwC3hVUAppmGADDD7QDgvJcADcD3AL6gdgCW2PQAiLfNAGzq/wC6s7QAorW3AKtlSgCaTkAAwoM3AKqD
|
||||
ZAC4d04A26xaAM+bWwDHqoIAbLa7AMuchQCsZDMA055IALzNhQC0gS8AV8XZAJ5RKQD45b8AZbn+AKVh
|
||||
KAC2cCsA16+UAK9xZQC03v8AtX1zALaRdwCdTSIAoFlFAKyPcQBMvOAAsXxDANCgcgDXrYMAkTwkAMGA
|
||||
LgDMkTIA0KqiAKp2TgC0eGEArqCJAMfk/gB3ws8A0eLyAK14PADp0akAqWsuAMKHVwCtZT8AxoxFAKm8
|
||||
pwDitWIAot7+AKhkVgDHxcoAzZ93AMCviwDAjXcAn8G6AJRFNgChVDgAnWZGAATL+wA/xOMA16txAIEm
|
||||
GgDOnmQAtnM8AMq3mgCxwaYAizMcACSS6AB62/0A5sugALJvTgCqXiUA9N2zAJy6ygCvvK4Alb/BAKpt
|
||||
RAC4uqUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAH2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAABGoPIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEhISEhLUavxz
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyVHCwtyl2tzN/9ikyQAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAH+SGkx9zzuoO1jwd2J3FLRIfwAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAADQvxrD0e6oQxdDQ/fbUGL9qkyb3kgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI+pphc7u
|
||||
7jtDF/r6wPpDhnHM8kBMmxqS6QAAAAAAAAAAAAAAAAAAAAAAAAAAAAB01WmXsrKTuzdDERHAehcXlTht
|
||||
IUbRTMMaUX8AAAAAAAAAAAAAAAAAAAAAAAAAAOOS+cNMTNED0oK1wMAREXoX9+gm2E1Mw8PDGlHQ7wAA
|
||||
AAAAAAAAAAAAAAAAAAAAsX/5GhrDw9ED0jf6F3p6ehER2yGpp3fNwxoaGvm/0O8AAAAAAAAAAAAAAAAA
|
||||
AADpf1H5+ZvDTNEDtTeQF3p6ehcXRVATqehGwxr5+VFRyfQAAAAAAAAAAAAAAAAAACNSv1GS+RrDTNF2
|
||||
N+EGfBd8fHx8fIbt7L5Nm8P5UVHJyX9kAAAAAAAAAAAAAAAA7/R/v8lR+cPD0TDudgYGBgYGBoeHhzuj
|
||||
7In/pcMa+VHJf3/QZAAAAAAAAAAAAAAAZNB/v8lRGsPDspHSmJCQBgYGBoeHh5id7Eo4PsMa+VHJf1LQ
|
||||
NQAAAAAAAAAAAADv0FJ/yVH5GsNMz5N2kAYGBgaHh4eHNzdX7KFlTdoa+flRf1JSymQAAAAAAAAAAABk
|
||||
9FJ/yVG6m5fOkwMwmJiYmIeHh4c3NxBeSgpK4EbcGvlRyX9S0AsFAAAAAAAAACNk9FJ/kroaQCLw0dED
|
||||
dpiYmJiHhzc3tYJyEwqho+alGvlRyX9S9HRkAAAAAAAAAGRkUjWSUTObGhxM0dEDMJiYmJg3N7vS0tI3
|
||||
J6EKE+ZGl/lRyX9SUuluAAAAAAAAAO/QNX9/Ufn53UDDTNF2MLU3N7V2MjJCvQO1G6EK7ARGpbpRyX9S
|
||||
9PR0BQAAAAAAI2TpUlJ/UVH5hcPDTFh9AwOTA9KT82pniE8QVuwKoSe33GlRyX9/UoDK7wAAAAAA6dD0
|
||||
UlJ/UVGZ8ZtMfTvf0QMDAwMD5vUlKw8uvOwKoalbFBozyZJ/UsrKIwAAAAAAC+9SUlJ/UZKF+RrwO8+R
|
||||
ttGTMAPRPiQWRAI8PUoKCuy4RlEzMzPef8qwgAAAAAAAse9SUn/JUTMz8c7PlRwc7rbR0dHRqllHR8Eg
|
||||
QaEKCqGfPnm6mTMzSOqwbgAAAAAAbu/00H9/yXC6z92FOxzPzxzfst/wt6zBwcFrU60HLKEmS7O6tLTe
|
||||
3t5IbgAAAAAA6WT00FJ/yZkiz5eF5c7OzxwcHBwct2zBwcFrU1xcrVxBDGj+M7TeSEjq6QAAAAAAZLH0
|
||||
0FJ/sN4iz92Z5eUcOxzOzs7Ot68ODg5rmh6trVweX9azM7TnSEjq6QAAAAAA78pSUlJS1ZLlzxzdYM+o
|
||||
O87Ozs7Ot0kOog5fmh4eHh4eX6/IM5kYSEjq6QAAAAAAZGR09NB/cPhgzxwcqKioqKjOhYWF5VuioqKi
|
||||
X/b2BGwxX2Zo1N6KSOrq6QAAAAAAZGSAyurKcGnEYBwcz6g7qKgchYUil2iLKKKiY2NjeEZGHTYNyN5w
|
||||
SOrKIwAAAAAAZO/QPz/V1XDEYM8cHMTOHKioHCKbGkZmKCgoKGNj/XOS/nOKaUhI6up0ZAAAAAAAAO/j
|
||||
xQkqg13ExGBgHBzOHDvPzt3xm3MVKCgoKFRUgcu/f3+/SEjq6uqxZAAAAAAAAG4/P8Uq57nExMTEYMTO
|
||||
hYWFIiJAGnP7nJycnFRUq8uWf5KS6kjq6jUjAAAAAAAAACPHxz+UcBgYxMRgqKhghYWFIiKXl3OvnJyc
|
||||
nJxUVKbrf97qf+rQNTUjAAAAAAAAAAApx8eUxT86isRgYGDEHIUzIiIiIqWenJycnJzi4p5af5I19PRk
|
||||
NbEjAAAAAAAAAACACQkqxz/nijoYYGAchYWStJkimf5JCAgICAji4q+Nf+p/9PTv6W4AAAAAAAAAAAAA
|
||||
KQmUlMc/XRiKOhi5XZLJ3pnektUdCAgICAgICGGzNUiw0NDpdAAAAAAAAAAAAAAAIwmUKgnHxxgYxIqK
|
||||
ikh/f0i6yYNoCMbGxggIxoSzykjVg+Ox7wAAAAAAAAAAAAAAAG4qfgkJx7kYGMRgYBhd53Bpkr/IhMbG
|
||||
xsbGxsY0jXBdyjUjAAAAAAAAAAAAAAAAAAB005QJCQkYGMRgYLmZ3rBd1dWkL05OTk5OxsaPjtXVdOkA
|
||||
AAAAAAAAAAAAAAAAAAAAxX4qlJQqGBjEuefV6kg1f0hwOU5OTk5OTk57yIODsQAAAAAAAAAAAAAAAAAA
|
||||
AAAAAMcqKpSUihgY510/4zU1SPhze9fX19fXTk5vyINuAAAAAAAAAAAAAAAAAAAAAAAAAAApKirTiooY
|
||||
x8fF48o16rBdDa5v19fX19d1jm4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAbgkqKn7TCcfFxSnpsXR0xdU/
|
||||
jlXk2RkZjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALCSp+KgnHP8UpKXR0dMp04z/njo4NLQAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvH036UCZTHx8fjdHTj48qAAAAALQAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAALHFCZSUlAkJKbGA7wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD////n//8AAP///8f//wAA///4A///
|
||||
AAD//8AB//8AAP//AAA//wAA//wAAB//AAD/8AAAB/8AAP/gAAAD/wAA/8AAAAD/AAD/gAAAAH8AAP8A
|
||||
AAAAfwAA/gAAAAA/AAD8AAAAAB8AAPwAAAAAHwAA+AAAAAAPAAD4AAAAAAcAAPAAAAAABwAA8AAAAAAH
|
||||
AADwAAAAAAMAAOAAAAAAAwAA4AAAAAADAADgAAAAAAMAAOAAAAAAAwAA4AAAAAADAADgAAAAAAMAAOAA
|
||||
AAAAAwAA4AAAAAADAADgAAAAAAMAAOAAAAAAAwAA4AAAAAADAADwAAAAAAMAAPAAAAAABwAA8AAAAAAH
|
||||
AAD4AAAAAAcAAPgAAAAADwAA/AAAAAAfAAD8AAAAAB8AAP4AAAAAPwAA/wAAAAB/AAD/gAAAAP8AAP/A
|
||||
AAAB/wAA/+AAAAP/AAD/8AAAB/8AAP/8AAAH/wAA//8AAHf/AAD//+AB//8AAP///////wAA
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="TrayIcon.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>346, 17</value>
|
||||
</metadata>
|
||||
<metadata name="contextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>441, 17</value>
|
||||
</metadata>
|
||||
<data name="TrayIcon.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAEAMDAAAAAAAACoDgAAFgAAACgAAAAwAAAAYAAAAAEACAAAAAAAgAoAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAA////AA+V+QDGiDAAj7euAHsfFQDsxn4ATuv/AKrZ/gC7iH8AAeL+AJpRSQBJqs4Az8jEAHO+
|
||||
/gC3w4gA1axVAPnqygCNTRkAIMXvAK+BVQCVvtkAPqH8APTZpwDXsp8A0en9AK5mKQBpx78A06Z7AKqi
|
||||
kgBw3/4AqNXFAE/D/gC6wa4Ax5BjAIk1KwBiruMALJXkAAa4+ABDw9gAjs3/AKloXgDGm5MAcKu6AB3n
|
||||
/wDu7+4A6s5iALbS5gDOlkUAfs7oAKSVYACzb0QAo4Z1AJpLMQCeucEA4bdtAIHBxgC4xdAA48i5ANy2
|
||||
iQAhqukAVcHLAL2lfwCzemsAvoRNADLM/QCpgTsA6MqYACmY+wDw370At5dwAF2z/gCoXj0Aqq6kAAjN
|
||||
+QCPqaAAu3gvAMazlAC+4v8Au5pOANDBogCjVSQAkTodAGLZ/wCV3P4Au6WgAJLJogCqxaEA1KZqAHiz
|
||||
1wCgb1IAr6+UAGXo/wDFk30AycSHAHfN+wDUqYsAqcrYAES95QCF2f4AhSwfADjK5gCOxOYAyrV+ALGa
|
||||
fAC7flkAosCzAGbH/wCRucAAFLf0AJNHPQDCztsAvIZtAF682ADawnUAsohkAKJcTwDH3/IA1KBQAMa7
|
||||
ogCZsKoAoWo+APfgrQC4u78A8tWaAMmSUQDLpJwAmEUhAI09MACSzN4A0Jk6AK5vWQCw1/IAy5huANW/
|
||||
lwDpwHMAzbBlABjL9ADbvKsAhsT0AKV6bgCod10Asod2ALavqQDqx4cA2K96AKRXLwDIjjwAwZGJAODE
|
||||
ngCbXDkAunpDAOW+ewDAhmAAcNT/ALJuMgCe0/8AhsS5AKOoogAluecAosrBAALY/QB/xf4AYsPNAMOo
|
||||
iwC3hVUAppmGADDD7QDgvJcADcD3AL6gdgCW2PQAiLfNAGzq/wC6s7QAorW3AKtlSgCaTkAAwoM3AKqD
|
||||
ZAC4d04A26xaAM+bWwDHqoIAbLa7AMuchQCsZDMA055IALzNhQC0gS8AV8XZAJ5RKQD45b8AZbn+AKVh
|
||||
KAC2cCsA16+UAK9xZQC03v8AtX1zALaRdwCdTSIAoFlFAKyPcQBMvOAAsXxDANCgcgDXrYMAkTwkAMGA
|
||||
LgDMkTIA0KqiAKp2TgC0eGEArqCJAMfk/gB3ws8A0eLyAK14PADp0akAqWsuAMKHVwCtZT8AxoxFAKm8
|
||||
pwDitWIAot7+AKhkVgDHxcoAzZ93AMCviwDAjXcAn8G6AJRFNgChVDgAnWZGAATL+wA/xOMA16txAIEm
|
||||
GgDOnmQAtnM8AMq3mgCxwaYAizMcACSS6AB62/0A5sugALJvTgCqXiUA9N2zAJy6ygCvvK4Alb/BAKpt
|
||||
RAC4uqUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAH2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAABGoPIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEhISEhLUavxz
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyVHCwtyl2tzN/9ikyQAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAH+SGkx9zzuoO1jwd2J3FLRIfwAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAADQvxrD0e6oQxdDQ/fbUGL9qkyb3kgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI+pphc7u
|
||||
7jtDF/r6wPpDhnHM8kBMmxqS6QAAAAAAAAAAAAAAAAAAAAAAAAAAAAB01WmXsrKTuzdDERHAehcXlTht
|
||||
IUbRTMMaUX8AAAAAAAAAAAAAAAAAAAAAAAAAAOOS+cNMTNED0oK1wMAREXoX9+gm2E1Mw8PDGlHQ7wAA
|
||||
AAAAAAAAAAAAAAAAAAAAsX/5GhrDw9ED0jf6F3p6ehER2yGpp3fNwxoaGvm/0O8AAAAAAAAAAAAAAAAA
|
||||
AADpf1H5+ZvDTNEDtTeQF3p6ehcXRVATqehGwxr5+VFRyfQAAAAAAAAAAAAAAAAAACNSv1GS+RrDTNF2
|
||||
N+EGfBd8fHx8fIbt7L5Nm8P5UVHJyX9kAAAAAAAAAAAAAAAA7/R/v8lR+cPD0TDudgYGBgYGBoeHhzuj
|
||||
7In/pcMa+VHJf3/QZAAAAAAAAAAAAAAAZNB/v8lRGsPDspHSmJCQBgYGBoeHh5id7Eo4PsMa+VHJf1LQ
|
||||
NQAAAAAAAAAAAADv0FJ/yVH5GsNMz5N2kAYGBgaHh4eHNzdX7KFlTdoa+flRf1JSymQAAAAAAAAAAABk
|
||||
9FJ/yVG6m5fOkwMwmJiYmIeHh4c3NxBeSgpK4EbcGvlRyX9S0AsFAAAAAAAAACNk9FJ/kroaQCLw0dED
|
||||
dpiYmJiHhzc3tYJyEwqho+alGvlRyX9S9HRkAAAAAAAAAGRkUjWSUTObGhxM0dEDMJiYmJg3N7vS0tI3
|
||||
J6EKE+ZGl/lRyX9SUuluAAAAAAAAAO/QNX9/Ufn53UDDTNF2MLU3N7V2MjJCvQO1G6EK7ARGpbpRyX9S
|
||||
9PR0BQAAAAAAI2TpUlJ/UVH5hcPDTFh9AwOTA9KT82pniE8QVuwKoSe33GlRyX9/UoDK7wAAAAAA6dD0
|
||||
UlJ/UVGZ8ZtMfTvf0QMDAwMD5vUlKw8uvOwKoalbFBozyZJ/UsrKIwAAAAAAC+9SUlJ/UZKF+RrwO8+R
|
||||
ttGTMAPRPiQWRAI8PUoKCuy4RlEzMzPef8qwgAAAAAAAse9SUn/JUTMz8c7PlRwc7rbR0dHRqllHR8Eg
|
||||
QaEKCqGfPnm6mTMzSOqwbgAAAAAAbu/00H9/yXC6z92FOxzPzxzfst/wt6zBwcFrU60HLKEmS7O6tLTe
|
||||
3t5IbgAAAAAA6WT00FJ/yZkiz5eF5c7OzxwcHBwct2zBwcFrU1xcrVxBDGj+M7TeSEjq6QAAAAAAZLH0
|
||||
0FJ/sN4iz92Z5eUcOxzOzs7Ot68ODg5rmh6trVweX9azM7TnSEjq6QAAAAAA78pSUlJS1ZLlzxzdYM+o
|
||||
O87Ozs7Ot0kOog5fmh4eHh4eX6/IM5kYSEjq6QAAAAAAZGR09NB/cPhgzxwcqKioqKjOhYWF5VuioqKi
|
||||
X/b2BGwxX2Zo1N6KSOrq6QAAAAAAZGSAyurKcGnEYBwcz6g7qKgchYUil2iLKKKiY2NjeEZGHTYNyN5w
|
||||
SOrKIwAAAAAAZO/QPz/V1XDEYM8cHMTOHKioHCKbGkZmKCgoKGNj/XOS/nOKaUhI6up0ZAAAAAAAAO/j
|
||||
xQkqg13ExGBgHBzOHDvPzt3xm3MVKCgoKFRUgcu/f3+/SEjq6uqxZAAAAAAAAG4/P8Uq57nExMTEYMTO
|
||||
hYWFIiJAGnP7nJycnFRUq8uWf5KS6kjq6jUjAAAAAAAAACPHxz+UcBgYxMRgqKhghYWFIiKXl3OvnJyc
|
||||
nJxUVKbrf97qf+rQNTUjAAAAAAAAAAApx8eUxT86isRgYGDEHIUzIiIiIqWenJycnJzi4p5af5I19PRk
|
||||
NbEjAAAAAAAAAACACQkqxz/nijoYYGAchYWStJkimf5JCAgICAji4q+Nf+p/9PTv6W4AAAAAAAAAAAAA
|
||||
KQmUlMc/XRiKOhi5XZLJ3pnektUdCAgICAgICGGzNUiw0NDpdAAAAAAAAAAAAAAAIwmUKgnHxxgYxIqK
|
||||
ikh/f0i6yYNoCMbGxggIxoSzykjVg+Ox7wAAAAAAAAAAAAAAAG4qfgkJx7kYGMRgYBhd53Bpkr/IhMbG
|
||||
xsbGxsY0jXBdyjUjAAAAAAAAAAAAAAAAAAB005QJCQkYGMRgYLmZ3rBd1dWkL05OTk5OxsaPjtXVdOkA
|
||||
AAAAAAAAAAAAAAAAAAAAxX4qlJQqGBjEuefV6kg1f0hwOU5OTk5OTk57yIODsQAAAAAAAAAAAAAAAAAA
|
||||
AAAAAMcqKpSUihgY510/4zU1SPhze9fX19fXTk5vyINuAAAAAAAAAAAAAAAAAAAAAAAAAAApKirTiooY
|
||||
x8fF48o16rBdDa5v19fX19d1jm4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAbgkqKn7TCcfFxSnpsXR0xdU/
|
||||
jlXk2RkZjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALCSp+KgnHP8UpKXR0dMp04z/njo4NLQAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvH036UCZTHx8fjdHTj48qAAAAALQAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAALHFCZSUlAkJKbGA7wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD////n//8AAP///8f//wAA///4A///
|
||||
AAD//8AB//8AAP//AAA//wAA//wAAB//AAD/8AAAB/8AAP/gAAAD/wAA/8AAAAD/AAD/gAAAAH8AAP8A
|
||||
AAAAfwAA/gAAAAA/AAD8AAAAAB8AAPwAAAAAHwAA+AAAAAAPAAD4AAAAAAcAAPAAAAAABwAA8AAAAAAH
|
||||
AADwAAAAAAMAAOAAAAAAAwAA4AAAAAADAADgAAAAAAMAAOAAAAAAAwAA4AAAAAADAADgAAAAAAMAAOAA
|
||||
AAAAAwAA4AAAAAADAADgAAAAAAMAAOAAAAAAAwAA4AAAAAADAADwAAAAAAMAAPAAAAAABwAA8AAAAAAH
|
||||
AAD4AAAAAAcAAPgAAAAADwAA/AAAAAAfAAD8AAAAAB8AAP4AAAAAPwAA/wAAAAB/AAD/gAAAAP8AAP/A
|
||||
AAAB/wAA/+AAAAP/AAD/8AAAB/8AAP/8AAAH/wAA//8AAHf/AAD//+AB//8AAP///////wAA
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
356
CassiniDev/Views/LogView.Designer.cs
generated
356
CassiniDev/Views/LogView.Designer.cs
generated
|
@ -1,356 +0,0 @@
|
|||
namespace CassiniDev.ServerLog
|
||||
{
|
||||
partial class LogView
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(LogView));
|
||||
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
|
||||
this.menuStrip1 = new System.Windows.Forms.MenuStrip();
|
||||
this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.clearToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.optionsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.scrollLogToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
|
||||
this.listView1 = new System.Windows.Forms.ListView();
|
||||
this.TypeHeader = new System.Windows.Forms.ColumnHeader();
|
||||
this.CreatedHeader = new System.Windows.Forms.ColumnHeader();
|
||||
this.StatusHeader = new System.Windows.Forms.ColumnHeader();
|
||||
this.UrlHeader = new System.Windows.Forms.ColumnHeader();
|
||||
this.PathTranslatedHeader = new System.Windows.Forms.ColumnHeader();
|
||||
this.IdentityHeader = new System.Windows.Forms.ColumnHeader();
|
||||
this.splitContainer2 = new System.Windows.Forms.SplitContainer();
|
||||
this.splitContainer3 = new System.Windows.Forms.SplitContainer();
|
||||
this.groupBox2 = new System.Windows.Forms.GroupBox();
|
||||
this.headersRichTextBox = new System.Windows.Forms.RichTextBox();
|
||||
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
||||
this.exceptionRichTextBox = new System.Windows.Forms.RichTextBox();
|
||||
this.groupBox3 = new System.Windows.Forms.GroupBox();
|
||||
this.bodyBodyView = new CassiniDev.ServerLog.BodyView();
|
||||
this.menuStrip1.SuspendLayout();
|
||||
this.splitContainer1.Panel1.SuspendLayout();
|
||||
this.splitContainer1.Panel2.SuspendLayout();
|
||||
this.splitContainer1.SuspendLayout();
|
||||
this.splitContainer2.Panel1.SuspendLayout();
|
||||
this.splitContainer2.Panel2.SuspendLayout();
|
||||
this.splitContainer2.SuspendLayout();
|
||||
this.splitContainer3.Panel1.SuspendLayout();
|
||||
this.splitContainer3.Panel2.SuspendLayout();
|
||||
this.splitContainer3.SuspendLayout();
|
||||
this.groupBox2.SuspendLayout();
|
||||
this.groupBox1.SuspendLayout();
|
||||
this.groupBox3.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// menuStrip1
|
||||
//
|
||||
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.fileToolStripMenuItem,
|
||||
this.optionsToolStripMenuItem});
|
||||
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
|
||||
this.menuStrip1.Name = "menuStrip1";
|
||||
this.menuStrip1.Size = new System.Drawing.Size(805, 24);
|
||||
this.menuStrip1.TabIndex = 38;
|
||||
this.menuStrip1.Text = "menuStrip1";
|
||||
//
|
||||
// fileToolStripMenuItem
|
||||
//
|
||||
this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.clearToolStripMenuItem,
|
||||
this.toolStripSeparator1,
|
||||
this.exitToolStripMenuItem});
|
||||
this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
|
||||
this.fileToolStripMenuItem.Size = new System.Drawing.Size(35, 20);
|
||||
this.fileToolStripMenuItem.Text = "&File";
|
||||
//
|
||||
// clearToolStripMenuItem
|
||||
//
|
||||
this.clearToolStripMenuItem.Name = "clearToolStripMenuItem";
|
||||
this.clearToolStripMenuItem.Size = new System.Drawing.Size(99, 22);
|
||||
this.clearToolStripMenuItem.Text = "&Clear";
|
||||
this.clearToolStripMenuItem.Click += new System.EventHandler(this.clearToolStripMenuItem_Click);
|
||||
//
|
||||
// toolStripSeparator1
|
||||
//
|
||||
this.toolStripSeparator1.Name = "toolStripSeparator1";
|
||||
this.toolStripSeparator1.Size = new System.Drawing.Size(96, 6);
|
||||
//
|
||||
// exitToolStripMenuItem
|
||||
//
|
||||
this.exitToolStripMenuItem.Name = "exitToolStripMenuItem";
|
||||
this.exitToolStripMenuItem.Size = new System.Drawing.Size(99, 22);
|
||||
this.exitToolStripMenuItem.Text = "E&xit";
|
||||
this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click);
|
||||
//
|
||||
// optionsToolStripMenuItem
|
||||
//
|
||||
this.optionsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.scrollLogToolStripMenuItem});
|
||||
this.optionsToolStripMenuItem.Name = "optionsToolStripMenuItem";
|
||||
this.optionsToolStripMenuItem.Size = new System.Drawing.Size(56, 20);
|
||||
this.optionsToolStripMenuItem.Text = "&Options";
|
||||
//
|
||||
// scrollLogToolStripMenuItem
|
||||
//
|
||||
this.scrollLogToolStripMenuItem.Checked = true;
|
||||
this.scrollLogToolStripMenuItem.CheckOnClick = true;
|
||||
this.scrollLogToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.scrollLogToolStripMenuItem.Name = "scrollLogToolStripMenuItem";
|
||||
this.scrollLogToolStripMenuItem.Size = new System.Drawing.Size(119, 22);
|
||||
this.scrollLogToolStripMenuItem.Text = "&Scroll Log";
|
||||
//
|
||||
// splitContainer1
|
||||
//
|
||||
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.splitContainer1.Location = new System.Drawing.Point(0, 24);
|
||||
this.splitContainer1.Name = "splitContainer1";
|
||||
this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
|
||||
//
|
||||
// splitContainer1.Panel1
|
||||
//
|
||||
this.splitContainer1.Panel1.Controls.Add(this.listView1);
|
||||
//
|
||||
// splitContainer1.Panel2
|
||||
//
|
||||
this.splitContainer1.Panel2.Controls.Add(this.splitContainer2);
|
||||
this.splitContainer1.Size = new System.Drawing.Size(805, 436);
|
||||
this.splitContainer1.SplitterDistance = 196;
|
||||
this.splitContainer1.TabIndex = 39;
|
||||
//
|
||||
// listView1
|
||||
//
|
||||
this.listView1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
|
||||
this.TypeHeader,
|
||||
this.CreatedHeader,
|
||||
this.StatusHeader,
|
||||
this.UrlHeader,
|
||||
this.PathTranslatedHeader,
|
||||
this.IdentityHeader});
|
||||
this.listView1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.listView1.FullRowSelect = true;
|
||||
this.listView1.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
|
||||
this.listView1.HideSelection = false;
|
||||
this.listView1.Location = new System.Drawing.Point(0, 0);
|
||||
this.listView1.MultiSelect = false;
|
||||
this.listView1.Name = "listView1";
|
||||
this.listView1.Size = new System.Drawing.Size(805, 196);
|
||||
this.listView1.TabIndex = 0;
|
||||
this.listView1.UseCompatibleStateImageBehavior = false;
|
||||
this.listView1.View = System.Windows.Forms.View.Details;
|
||||
this.listView1.SelectedIndexChanged += new System.EventHandler(this.listView1_SelectedIndexChanged);
|
||||
//
|
||||
// TypeHeader
|
||||
//
|
||||
this.TypeHeader.Text = "Type";
|
||||
this.TypeHeader.Width = 80;
|
||||
//
|
||||
// CreatedHeader
|
||||
//
|
||||
this.CreatedHeader.Text = "Created";
|
||||
this.CreatedHeader.Width = 180;
|
||||
//
|
||||
// StatusHeader
|
||||
//
|
||||
this.StatusHeader.Text = "Status";
|
||||
//
|
||||
// UrlHeader
|
||||
//
|
||||
this.UrlHeader.Text = "Url";
|
||||
this.UrlHeader.Width = 160;
|
||||
//
|
||||
// PathTranslatedHeader
|
||||
//
|
||||
this.PathTranslatedHeader.Text = "PathTranslated";
|
||||
this.PathTranslatedHeader.Width = 200;
|
||||
//
|
||||
// IdentityHeader
|
||||
//
|
||||
this.IdentityHeader.Text = "Identity";
|
||||
this.IdentityHeader.Width = 100;
|
||||
//
|
||||
// splitContainer2
|
||||
//
|
||||
this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.splitContainer2.Location = new System.Drawing.Point(0, 0);
|
||||
this.splitContainer2.Name = "splitContainer2";
|
||||
//
|
||||
// splitContainer2.Panel1
|
||||
//
|
||||
this.splitContainer2.Panel1.Controls.Add(this.splitContainer3);
|
||||
//
|
||||
// splitContainer2.Panel2
|
||||
//
|
||||
this.splitContainer2.Panel2.Controls.Add(this.groupBox3);
|
||||
this.splitContainer2.Size = new System.Drawing.Size(805, 236);
|
||||
this.splitContainer2.SplitterDistance = 289;
|
||||
this.splitContainer2.TabIndex = 0;
|
||||
//
|
||||
// splitContainer3
|
||||
//
|
||||
this.splitContainer3.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.splitContainer3.Location = new System.Drawing.Point(0, 0);
|
||||
this.splitContainer3.Name = "splitContainer3";
|
||||
this.splitContainer3.Orientation = System.Windows.Forms.Orientation.Horizontal;
|
||||
//
|
||||
// splitContainer3.Panel1
|
||||
//
|
||||
this.splitContainer3.Panel1.Controls.Add(this.groupBox2);
|
||||
//
|
||||
// splitContainer3.Panel2
|
||||
//
|
||||
this.splitContainer3.Panel2.Controls.Add(this.groupBox1);
|
||||
this.splitContainer3.Size = new System.Drawing.Size(289, 236);
|
||||
this.splitContainer3.SplitterDistance = 172;
|
||||
this.splitContainer3.TabIndex = 0;
|
||||
//
|
||||
// groupBox2
|
||||
//
|
||||
this.groupBox2.Controls.Add(this.headersRichTextBox);
|
||||
this.groupBox2.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.groupBox2.Location = new System.Drawing.Point(0, 0);
|
||||
this.groupBox2.Name = "groupBox2";
|
||||
this.groupBox2.Size = new System.Drawing.Size(289, 172);
|
||||
this.groupBox2.TabIndex = 0;
|
||||
this.groupBox2.TabStop = false;
|
||||
this.groupBox2.Text = "Headers";
|
||||
//
|
||||
// headersRichTextBox
|
||||
//
|
||||
this.headersRichTextBox.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.headersRichTextBox.Location = new System.Drawing.Point(3, 16);
|
||||
this.headersRichTextBox.Name = "headersRichTextBox";
|
||||
this.headersRichTextBox.ReadOnly = true;
|
||||
this.headersRichTextBox.Size = new System.Drawing.Size(283, 153);
|
||||
this.headersRichTextBox.TabIndex = 45;
|
||||
this.headersRichTextBox.Text = "";
|
||||
this.headersRichTextBox.WordWrap = false;
|
||||
//
|
||||
// groupBox1
|
||||
//
|
||||
this.groupBox1.Controls.Add(this.exceptionRichTextBox);
|
||||
this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.groupBox1.Location = new System.Drawing.Point(0, 0);
|
||||
this.groupBox1.Name = "groupBox1";
|
||||
this.groupBox1.Size = new System.Drawing.Size(289, 60);
|
||||
this.groupBox1.TabIndex = 0;
|
||||
this.groupBox1.TabStop = false;
|
||||
this.groupBox1.Text = "Exception - TODO";
|
||||
//
|
||||
// exceptionRichTextBox
|
||||
//
|
||||
this.exceptionRichTextBox.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.exceptionRichTextBox.Location = new System.Drawing.Point(3, 16);
|
||||
this.exceptionRichTextBox.Name = "exceptionRichTextBox";
|
||||
this.exceptionRichTextBox.ReadOnly = true;
|
||||
this.exceptionRichTextBox.Size = new System.Drawing.Size(283, 41);
|
||||
this.exceptionRichTextBox.TabIndex = 43;
|
||||
this.exceptionRichTextBox.Text = "This field will contain full exception detail.\nNo more ambiguous HttpExceptions.\n" +
|
||||
"";
|
||||
this.exceptionRichTextBox.WordWrap = false;
|
||||
//
|
||||
// groupBox3
|
||||
//
|
||||
this.groupBox3.Controls.Add(this.bodyBodyView);
|
||||
this.groupBox3.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.groupBox3.Location = new System.Drawing.Point(0, 0);
|
||||
this.groupBox3.Name = "groupBox3";
|
||||
this.groupBox3.Size = new System.Drawing.Size(512, 236);
|
||||
this.groupBox3.TabIndex = 0;
|
||||
this.groupBox3.TabStop = false;
|
||||
this.groupBox3.Text = "Body";
|
||||
//
|
||||
// bodyBodyView
|
||||
//
|
||||
this.bodyBodyView.BackColor = System.Drawing.SystemColors.GradientActiveCaption;
|
||||
this.bodyBodyView.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.bodyBodyView.Location = new System.Drawing.Point(3, 16);
|
||||
this.bodyBodyView.Name = "bodyBodyView";
|
||||
this.bodyBodyView.Size = new System.Drawing.Size(506, 217);
|
||||
this.bodyBodyView.TabIndex = 41;
|
||||
this.bodyBodyView.Value = null;
|
||||
//
|
||||
// LogView
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.BackColor = System.Drawing.SystemColors.Control;
|
||||
this.ClientSize = new System.Drawing.Size(805, 460);
|
||||
this.Controls.Add(this.splitContainer1);
|
||||
this.Controls.Add(this.menuStrip1);
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.Name = "LogView";
|
||||
this.Text = "LogView";
|
||||
this.menuStrip1.ResumeLayout(false);
|
||||
this.menuStrip1.PerformLayout();
|
||||
this.splitContainer1.Panel1.ResumeLayout(false);
|
||||
this.splitContainer1.Panel2.ResumeLayout(false);
|
||||
this.splitContainer1.ResumeLayout(false);
|
||||
this.splitContainer2.Panel1.ResumeLayout(false);
|
||||
this.splitContainer2.Panel2.ResumeLayout(false);
|
||||
this.splitContainer2.ResumeLayout(false);
|
||||
this.splitContainer3.Panel1.ResumeLayout(false);
|
||||
this.splitContainer3.Panel2.ResumeLayout(false);
|
||||
this.splitContainer3.ResumeLayout(false);
|
||||
this.groupBox2.ResumeLayout(false);
|
||||
this.groupBox1.ResumeLayout(false);
|
||||
this.groupBox3.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.ToolTip toolTip1;
|
||||
private System.Windows.Forms.MenuStrip menuStrip1;
|
||||
private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem clearToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
|
||||
private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem optionsToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem scrollLogToolStripMenuItem;
|
||||
private System.Windows.Forms.SplitContainer splitContainer1;
|
||||
private System.Windows.Forms.SplitContainer splitContainer2;
|
||||
private System.Windows.Forms.SplitContainer splitContainer3;
|
||||
private System.Windows.Forms.GroupBox groupBox2;
|
||||
private System.Windows.Forms.GroupBox groupBox1;
|
||||
private System.Windows.Forms.GroupBox groupBox3;
|
||||
private BodyView bodyBodyView;
|
||||
private System.Windows.Forms.RichTextBox exceptionRichTextBox;
|
||||
private System.Windows.Forms.RichTextBox headersRichTextBox;
|
||||
private System.Windows.Forms.ListView listView1;
|
||||
private System.Windows.Forms.ColumnHeader TypeHeader;
|
||||
private System.Windows.Forms.ColumnHeader CreatedHeader;
|
||||
private System.Windows.Forms.ColumnHeader StatusHeader;
|
||||
private System.Windows.Forms.ColumnHeader UrlHeader;
|
||||
private System.Windows.Forms.ColumnHeader PathTranslatedHeader;
|
||||
private System.Windows.Forms.ColumnHeader IdentityHeader;
|
||||
}
|
||||
}
|
|
@ -1,137 +0,0 @@
|
|||
// **********************************************************************************
|
||||
// CassiniDev - http://cassinidev.codeplex.com
|
||||
//
|
||||
// Copyright (c) Sky Sanders. All rights reserved.
|
||||
//
|
||||
// This source code is subject to terms and conditions of the Microsoft Public
|
||||
// License (Ms-PL). A copy of the license can be found in the license.htm file
|
||||
// included in this distribution.
|
||||
//
|
||||
// You must not remove this notice, or any other, from this software.
|
||||
//
|
||||
// **********************************************************************************
|
||||
|
||||
#region
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Windows.Forms;
|
||||
|
||||
#endregion
|
||||
|
||||
namespace CassiniDev.ServerLog
|
||||
{
|
||||
/// <summary>
|
||||
/// If log can persist, then only stack values in the list and tag the items with the RowId for querying the db for heavy values.
|
||||
/// If not, tag the item with the loginfo instance. Memory usage will be much greater but is better than nothing.
|
||||
/// </summary>
|
||||
public partial class LogView : Form
|
||||
{
|
||||
|
||||
|
||||
|
||||
private Server _server;
|
||||
|
||||
public LogView(Server server)
|
||||
{
|
||||
InitializeComponent();
|
||||
_server = server;
|
||||
_server.RequestComplete += RequestComplete;
|
||||
|
||||
|
||||
InitializeList();
|
||||
|
||||
base.Text = SR.GetString(SR.WebdevLogViewerNameWithPort, _server.Port);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Not sure if these qualify for disposable
|
||||
/// </summary>
|
||||
/// <param name="e"></param>
|
||||
protected override void OnClosing(CancelEventArgs e)
|
||||
{
|
||||
_server.RequestComplete -= RequestComplete;
|
||||
_server = null;
|
||||
|
||||
}
|
||||
|
||||
private void AddLogRows(IEnumerable<LogInfo> items)
|
||||
{
|
||||
listView1.SuspendLayout();
|
||||
|
||||
foreach (LogInfo item in items)
|
||||
{
|
||||
ListViewItem a = new ListViewItem(new[]
|
||||
{
|
||||
item.RowType == 0 ? "" : item.RowType == 1 ? "Request" : "Response",
|
||||
item.Created.ToString(),
|
||||
item.StatusCode.ToString(),
|
||||
item.Url,
|
||||
item.PathTranslated,
|
||||
item.Identity
|
||||
})
|
||||
{
|
||||
Tag = item
|
||||
};
|
||||
listView1.Items.Add(a);
|
||||
}
|
||||
|
||||
if (listView1.Items.Count > 0 && scrollLogToolStripMenuItem.Checked)
|
||||
{
|
||||
int lastRow = listView1.Items.Count - 1;
|
||||
listView1.EnsureVisible(lastRow);
|
||||
}
|
||||
listView1.ResumeLayout();
|
||||
}
|
||||
|
||||
private void clearToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
InitializeList();
|
||||
}
|
||||
|
||||
private void exitToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
Close();
|
||||
}
|
||||
|
||||
private LogInfo GetSelectedLogItem()
|
||||
{
|
||||
object tag = listView1.Items[listView1.SelectedIndices[0]].Tag;
|
||||
|
||||
LogInfo returnValue = (LogInfo)tag;
|
||||
|
||||
return returnValue;
|
||||
}
|
||||
|
||||
private void InitializeList()
|
||||
{
|
||||
listView1.SuspendLayout();
|
||||
listView1.Items.Clear();
|
||||
listView1.ResumeLayout();
|
||||
}
|
||||
|
||||
private void listView1_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (listView1.SelectedIndices.Count > 0)
|
||||
{
|
||||
LogInfo log = GetSelectedLogItem();
|
||||
exceptionRichTextBox.Text = log.Exception;
|
||||
headersRichTextBox.Text = log.Headers;
|
||||
bodyBodyView.Value = log.Body;
|
||||
}
|
||||
else
|
||||
{
|
||||
exceptionRichTextBox.Text = "";
|
||||
headersRichTextBox.Text = "";
|
||||
bodyBodyView.Value = null;
|
||||
}
|
||||
}
|
||||
|
||||
private void RequestComplete(object sender, RequestEventArgs e)
|
||||
{
|
||||
Invoke(new MethodInvoker(() => AddLogRows(new[] { e.RequestLog, e.ResponseLog })));
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -1,194 +0,0 @@
|
|||
<?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.Runtime.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:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<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" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</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" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</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>
|
||||
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>175, 17</value>
|
||||
</metadata>
|
||||
<metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>267, 17</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAEAMDAAAAAAAACoDgAAFgAAACgAAAAwAAAAYAAAAAEACAAAAAAAgAoAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAA////AA+V+QDGiDAAj7euAHsfFQDsxn4ATuv/AKrZ/gC7iH8AAeL+AJpRSQBJqs4Az8jEAHO+
|
||||
/gC3w4gA1axVAPnqygCNTRkAIMXvAK+BVQCVvtkAPqH8APTZpwDXsp8A0en9AK5mKQBpx78A06Z7AKqi
|
||||
kgBw3/4AqNXFAE/D/gC6wa4Ax5BjAIk1KwBiruMALJXkAAa4+ABDw9gAjs3/AKloXgDGm5MAcKu6AB3n
|
||||
/wDu7+4A6s5iALbS5gDOlkUAfs7oAKSVYACzb0QAo4Z1AJpLMQCeucEA4bdtAIHBxgC4xdAA48i5ANy2
|
||||
iQAhqukAVcHLAL2lfwCzemsAvoRNADLM/QCpgTsA6MqYACmY+wDw370At5dwAF2z/gCoXj0Aqq6kAAjN
|
||||
+QCPqaAAu3gvAMazlAC+4v8Au5pOANDBogCjVSQAkTodAGLZ/wCV3P4Au6WgAJLJogCqxaEA1KZqAHiz
|
||||
1wCgb1IAr6+UAGXo/wDFk30AycSHAHfN+wDUqYsAqcrYAES95QCF2f4AhSwfADjK5gCOxOYAyrV+ALGa
|
||||
fAC7flkAosCzAGbH/wCRucAAFLf0AJNHPQDCztsAvIZtAF682ADawnUAsohkAKJcTwDH3/IA1KBQAMa7
|
||||
ogCZsKoAoWo+APfgrQC4u78A8tWaAMmSUQDLpJwAmEUhAI09MACSzN4A0Jk6AK5vWQCw1/IAy5huANW/
|
||||
lwDpwHMAzbBlABjL9ADbvKsAhsT0AKV6bgCod10Asod2ALavqQDqx4cA2K96AKRXLwDIjjwAwZGJAODE
|
||||
ngCbXDkAunpDAOW+ewDAhmAAcNT/ALJuMgCe0/8AhsS5AKOoogAluecAosrBAALY/QB/xf4AYsPNAMOo
|
||||
iwC3hVUAppmGADDD7QDgvJcADcD3AL6gdgCW2PQAiLfNAGzq/wC6s7QAorW3AKtlSgCaTkAAwoM3AKqD
|
||||
ZAC4d04A26xaAM+bWwDHqoIAbLa7AMuchQCsZDMA055IALzNhQC0gS8AV8XZAJ5RKQD45b8AZbn+AKVh
|
||||
KAC2cCsA16+UAK9xZQC03v8AtX1zALaRdwCdTSIAoFlFAKyPcQBMvOAAsXxDANCgcgDXrYMAkTwkAMGA
|
||||
LgDMkTIA0KqiAKp2TgC0eGEArqCJAMfk/gB3ws8A0eLyAK14PADp0akAqWsuAMKHVwCtZT8AxoxFAKm8
|
||||
pwDitWIAot7+AKhkVgDHxcoAzZ93AMCviwDAjXcAn8G6AJRFNgChVDgAnWZGAATL+wA/xOMA16txAIEm
|
||||
GgDOnmQAtnM8AMq3mgCxwaYAizMcACSS6AB62/0A5sugALJvTgCqXiUA9N2zAJy6ygCvvK4Alb/BAKpt
|
||||
RAC4uqUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAH2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAABGoPIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEhISEhLUavxz
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyVHCwtyl2tzN/9ikyQAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAH+SGkx9zzuoO1jwd2J3FLRIfwAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAADQvxrD0e6oQxdDQ/fbUGL9qkyb3kgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI+pphc7u
|
||||
7jtDF/r6wPpDhnHM8kBMmxqS6QAAAAAAAAAAAAAAAAAAAAAAAAAAAAB01WmXsrKTuzdDERHAehcXlTht
|
||||
IUbRTMMaUX8AAAAAAAAAAAAAAAAAAAAAAAAAAOOS+cNMTNED0oK1wMAREXoX9+gm2E1Mw8PDGlHQ7wAA
|
||||
AAAAAAAAAAAAAAAAAAAAsX/5GhrDw9ED0jf6F3p6ehER2yGpp3fNwxoaGvm/0O8AAAAAAAAAAAAAAAAA
|
||||
AADpf1H5+ZvDTNEDtTeQF3p6ehcXRVATqehGwxr5+VFRyfQAAAAAAAAAAAAAAAAAACNSv1GS+RrDTNF2
|
||||
N+EGfBd8fHx8fIbt7L5Nm8P5UVHJyX9kAAAAAAAAAAAAAAAA7/R/v8lR+cPD0TDudgYGBgYGBoeHhzuj
|
||||
7In/pcMa+VHJf3/QZAAAAAAAAAAAAAAAZNB/v8lRGsPDspHSmJCQBgYGBoeHh5id7Eo4PsMa+VHJf1LQ
|
||||
NQAAAAAAAAAAAADv0FJ/yVH5GsNMz5N2kAYGBgaHh4eHNzdX7KFlTdoa+flRf1JSymQAAAAAAAAAAABk
|
||||
9FJ/yVG6m5fOkwMwmJiYmIeHh4c3NxBeSgpK4EbcGvlRyX9S0AsFAAAAAAAAACNk9FJ/kroaQCLw0dED
|
||||
dpiYmJiHhzc3tYJyEwqho+alGvlRyX9S9HRkAAAAAAAAAGRkUjWSUTObGhxM0dEDMJiYmJg3N7vS0tI3
|
||||
J6EKE+ZGl/lRyX9SUuluAAAAAAAAAO/QNX9/Ufn53UDDTNF2MLU3N7V2MjJCvQO1G6EK7ARGpbpRyX9S
|
||||
9PR0BQAAAAAAI2TpUlJ/UVH5hcPDTFh9AwOTA9KT82pniE8QVuwKoSe33GlRyX9/UoDK7wAAAAAA6dD0
|
||||
UlJ/UVGZ8ZtMfTvf0QMDAwMD5vUlKw8uvOwKoalbFBozyZJ/UsrKIwAAAAAAC+9SUlJ/UZKF+RrwO8+R
|
||||
ttGTMAPRPiQWRAI8PUoKCuy4RlEzMzPef8qwgAAAAAAAse9SUn/JUTMz8c7PlRwc7rbR0dHRqllHR8Eg
|
||||
QaEKCqGfPnm6mTMzSOqwbgAAAAAAbu/00H9/yXC6z92FOxzPzxzfst/wt6zBwcFrU60HLKEmS7O6tLTe
|
||||
3t5IbgAAAAAA6WT00FJ/yZkiz5eF5c7OzxwcHBwct2zBwcFrU1xcrVxBDGj+M7TeSEjq6QAAAAAAZLH0
|
||||
0FJ/sN4iz92Z5eUcOxzOzs7Ot68ODg5rmh6trVweX9azM7TnSEjq6QAAAAAA78pSUlJS1ZLlzxzdYM+o
|
||||
O87Ozs7Ot0kOog5fmh4eHh4eX6/IM5kYSEjq6QAAAAAAZGR09NB/cPhgzxwcqKioqKjOhYWF5VuioqKi
|
||||
X/b2BGwxX2Zo1N6KSOrq6QAAAAAAZGSAyurKcGnEYBwcz6g7qKgchYUil2iLKKKiY2NjeEZGHTYNyN5w
|
||||
SOrKIwAAAAAAZO/QPz/V1XDEYM8cHMTOHKioHCKbGkZmKCgoKGNj/XOS/nOKaUhI6up0ZAAAAAAAAO/j
|
||||
xQkqg13ExGBgHBzOHDvPzt3xm3MVKCgoKFRUgcu/f3+/SEjq6uqxZAAAAAAAAG4/P8Uq57nExMTEYMTO
|
||||
hYWFIiJAGnP7nJycnFRUq8uWf5KS6kjq6jUjAAAAAAAAACPHxz+UcBgYxMRgqKhghYWFIiKXl3OvnJyc
|
||||
nJxUVKbrf97qf+rQNTUjAAAAAAAAAAApx8eUxT86isRgYGDEHIUzIiIiIqWenJycnJzi4p5af5I19PRk
|
||||
NbEjAAAAAAAAAACACQkqxz/nijoYYGAchYWStJkimf5JCAgICAji4q+Nf+p/9PTv6W4AAAAAAAAAAAAA
|
||||
KQmUlMc/XRiKOhi5XZLJ3pnektUdCAgICAgICGGzNUiw0NDpdAAAAAAAAAAAAAAAIwmUKgnHxxgYxIqK
|
||||
ikh/f0i6yYNoCMbGxggIxoSzykjVg+Ox7wAAAAAAAAAAAAAAAG4qfgkJx7kYGMRgYBhd53Bpkr/IhMbG
|
||||
xsbGxsY0jXBdyjUjAAAAAAAAAAAAAAAAAAB005QJCQkYGMRgYLmZ3rBd1dWkL05OTk5OxsaPjtXVdOkA
|
||||
AAAAAAAAAAAAAAAAAAAAxX4qlJQqGBjEuefV6kg1f0hwOU5OTk5OTk57yIODsQAAAAAAAAAAAAAAAAAA
|
||||
AAAAAMcqKpSUihgY510/4zU1SPhze9fX19fXTk5vyINuAAAAAAAAAAAAAAAAAAAAAAAAAAApKirTiooY
|
||||
x8fF48o16rBdDa5v19fX19d1jm4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAbgkqKn7TCcfFxSnpsXR0xdU/
|
||||
jlXk2RkZjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALCSp+KgnHP8UpKXR0dMp04z/njo4NLQAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvH036UCZTHx8fjdHTj48qAAAAALQAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAALHFCZSUlAkJKbGA7wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD////n//8AAP///8f//wAA///4A///
|
||||
AAD//8AB//8AAP//AAA//wAA//wAAB//AAD/8AAAB/8AAP/gAAAD/wAA/8AAAAD/AAD/gAAAAH8AAP8A
|
||||
AAAAfwAA/gAAAAA/AAD8AAAAAB8AAPwAAAAAHwAA+AAAAAAPAAD4AAAAAAcAAPAAAAAABwAA8AAAAAAH
|
||||
AADwAAAAAAMAAOAAAAAAAwAA4AAAAAADAADgAAAAAAMAAOAAAAAAAwAA4AAAAAADAADgAAAAAAMAAOAA
|
||||
AAAAAwAA4AAAAAADAADgAAAAAAMAAOAAAAAAAwAA4AAAAAADAADwAAAAAAMAAPAAAAAABwAA8AAAAAAH
|
||||
AAD4AAAAAAcAAPgAAAAADwAA/AAAAAAfAAD8AAAAAB8AAP4AAAAAPwAA/wAAAAB/AAD/gAAAAP8AAP/A
|
||||
AAAB/wAA/+AAAAP/AAD/8AAAB/8AAP/8AAAH/wAA//8AAHf/AAD//+AB//8AAP///////wAA
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
|
@ -1,6 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<configuration>
|
||||
<runtime>
|
||||
<generatePublisherEvidence enabled="false"/>
|
||||
</runtime>
|
||||
</configuration>
|
|
@ -1,6 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<configuration>
|
||||
<runtime>
|
||||
<generatePublisherEvidence enabled="false" />
|
||||
</runtime>
|
||||
</configuration>
|
178
IISExpress/AppServer/administration.config
Normal file
178
IISExpress/AppServer/administration.config
Normal file
|
@ -0,0 +1,178 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<configuration>
|
||||
<configSections>
|
||||
<section name="moduleProviders" allowLocation="false" allowDefinition="MachineToWebRoot" />
|
||||
<section name="modules" allowDefinition="MachineToApplication" />
|
||||
|
||||
<sectionGroup name="system.webServer">
|
||||
<sectionGroup name="management">
|
||||
<section name="trustedProviders" allowLocation="false" allowDefinition="MachineToWebRoot" />
|
||||
<section name="authentication" allowDefinition="MachineToWebRoot" />
|
||||
<section name="authorization" allowDefinition="MachineToWebRoot" />
|
||||
<section name="dbManager" allowDefinition="MachineToWebRoot" />
|
||||
</sectionGroup>
|
||||
</sectionGroup>
|
||||
</configSections>
|
||||
|
||||
<system.webServer>
|
||||
<management>
|
||||
<authentication defaultProvider="ConfigurationAuthenticationProvider">
|
||||
<providers>
|
||||
<add name="ConfigurationAuthenticationProvider" type="Microsoft.Web.Management.Server.ConfigurationAuthenticationProvider, Microsoft.Web.Management, Version=7.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
</providers>
|
||||
</authentication>
|
||||
|
||||
<authorization defaultProvider="ConfigurationAuthorizationProvider">
|
||||
<providers>
|
||||
<add name="ConfigurationAuthorizationProvider" type="Microsoft.Web.Management.Server.ConfigurationAuthorizationProvider, Microsoft.Web.Management, Version=7.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
</providers>
|
||||
</authorization>
|
||||
|
||||
<trustedProviders allowUntrustedProviders="false">
|
||||
<add type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<add type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<add type="System.Web.Security.WindowsTokenRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
</trustedProviders>
|
||||
</management>
|
||||
</system.webServer>
|
||||
|
||||
<moduleProviders>
|
||||
<!-- Server Modules-->
|
||||
<!--add name="FastNav" type="FastNav.FastNavModuleProvider, FastNav, Version=1.0.0.0, Culture=neutral, PublicKeyToken=0f1833fdd3080bcb" /-->
|
||||
<add name="WebObjects" type="Microsoft.Web.Management.Iis.WebObjects.WebObjectsModuleProvider, Microsoft.Web.Management.Iis, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="Modules" type="Microsoft.Web.Management.Iis.Modules.ModulesModuleProvider, Microsoft.Web.Management.Iis, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="Handlers" type="Microsoft.Web.Management.Iis.Handlers.HandlersModuleProvider, Microsoft.Web.Management.Iis, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="ExtensionRestrictions" type="Microsoft.Web.Management.Iis.Extensions.ExtensionsModuleProvider, Microsoft.Web.Management.Iis, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="Authentication" type="Microsoft.Web.Management.Iis.Authentication.AuthenticationModuleProvider, Microsoft.Web.Management.Iis, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="AnonymousAuthentication" type="Microsoft.Web.Management.Iis.Authentication.AnonymousAuthenticationModuleProvider, Microsoft.Web.Management.Iis, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="BasicAuthentication" type="Microsoft.Web.Management.Iis.Authentication.BasicAuthenticationModuleProvider, Microsoft.Web.Management.Iis, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="ActiveDirectoryAuthentication" type="Microsoft.Web.Management.Iis.Authentication.ActiveDirectoryAuthenticationModuleProvider, Microsoft.Web.Management.Iis, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="WindowsAuthentication" type="Microsoft.Web.Management.Iis.Authentication.WindowsAuthenticationModuleProvider, Microsoft.Web.Management.Iis, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="DigestAuthentication" type="Microsoft.Web.Management.Iis.Authentication.DigestAuthenticationModuleProvider, Microsoft.Web.Management.Iis, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="Authorization" type="Microsoft.Web.Management.Iis.Authorization.AuthorizationModuleProvider, Microsoft.Web.Management.Iis, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="IPRestrictions" type="Microsoft.Web.Management.Iis.IPRestrictions.IPRestrictionsModuleProvider, Microsoft.Web.Management.Iis, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="Ssl" type="Microsoft.Web.Management.Iis.Ssl.SslModuleProvider, Microsoft.Web.Management.Iis, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="Certificates" type="Microsoft.Web.Management.Iis.Certificates.CertificatesModuleProvider, Microsoft.Web.Management.Iis, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="DefaultDocument" type="Microsoft.Web.Management.Iis.DefaultDocument.DefaultDocumentModuleProvider, Microsoft.Web.Management.Iis, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="DirectoryBrowse" type="Microsoft.Web.Management.Iis.DirectoryBrowse.DirectoryBrowseModuleProvider, Microsoft.Web.Management.Iis, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="Compression" type="Microsoft.Web.Management.Iis.Compression.CompressionModuleProvider, Microsoft.Web.Management.Iis, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="CustomErrors" type="Microsoft.Web.Management.Iis.CustomErrors.CustomErrorsModuleProvider, Microsoft.Web.Management.Iis, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="HttpHeaders" type="Microsoft.Web.Management.Iis.HttpHeaders.HttpHeadersModuleProvider, Microsoft.Web.Management.Iis, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
|
||||
<!-- <add name="NativeCaching" type="Microsoft.Web.Management.Iis.Caching.CachingModuleProvider, Microsoft.Web.Management.Iis, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> -->
|
||||
|
||||
<add name="HttpRedirect" type="Microsoft.Web.Management.Iis.HttpRedirect.HttpRedirectModuleProvider, Microsoft.Web.Management.Iis, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="MimeTypes" type="Microsoft.Web.Management.Iis.MimeTypes.MimeTypesModuleProvider, Microsoft.Web.Management.Iis, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="ClassicAsp" type="Microsoft.Web.Management.Iis.ClassicAsp.ClassicAspModuleProvider, Microsoft.Web.Management.Iis, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="Cgi" type="Microsoft.Web.Management.Iis.Cgi.CgiModuleProvider, Microsoft.Web.Management.Iis, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="Logging" type="Microsoft.Web.Management.Iis.Logging.LoggingModuleProvider, Microsoft.Web.Management.Iis, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="FailureTracing" type="Microsoft.Web.Management.Iis.FailureTracing.FailureTracingModuleProvider, Microsoft.Web.Management.Iis, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<!-- <add name="WorkerProcesses" type="Microsoft.Web.Management.Iis.WorkerProcesses.WorkerProcessesModuleProvider, Microsoft.Web.Management.Iis, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> -->
|
||||
<add name="IsapiFilters" type="Microsoft.Web.Management.Iis.IsapiFilters.IsapiFiltersModuleProvider, Microsoft.Web.Management.Iis, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="Administrators" type="Microsoft.Web.Management.Features.Administrators.AdministratorsModuleProvider, Microsoft.Web.Management, Version=7.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="Service" type="Microsoft.Web.Management.Features.Service.ServiceModuleProvider, Microsoft.Web.Management, Version=7.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<!--add name="Delegation" type="Microsoft.Web.Management.Features.Delegation.DelegationModuleProvider, Microsoft.Web.Management, Version=7.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /-->
|
||||
<!-- <add name="SharedConfig" type="Microsoft.Web.Management.Features.SharedConfig.SharedConfigModuleProvider, Microsoft.Web.Management, Version=7.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> -->
|
||||
<add name="ConfigurationEditor" type="Microsoft.Web.Management.Iis.ConfigurationEditor.ConfigEditorModuleProvider, Microsoft.Web.Management.Iis, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="RequestFiltering" type="Microsoft.Web.Management.Iis.RequestFiltering.RequestFilteringModuleProvider, Microsoft.Web.Management.Iis, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="FastCgi" type="Microsoft.Web.Management.Iis.FastCgi.FastCgiModuleProvider, Microsoft.Web.Management.Iis, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
|
||||
<!-- ASP.NET Modules-->
|
||||
<add name="FormsAuthentication" type="Microsoft.Web.Management.AspNet.Authentication.FormsAuthenticationModuleProvider, Microsoft.Web.Management.Aspnet, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="Impersonation" type="Microsoft.Web.Management.AspNet.Authentication.ImpersonationModuleProvider, Microsoft.Web.Management.Aspnet, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="TrustLevels" type="Microsoft.Web.Management.AspNet.TrustLevels.TrustLevelsModuleProvider, Microsoft.Web.Management.Aspnet, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="Roles" type="Microsoft.Web.Management.AspNet.Roles.RolesModuleProvider, Microsoft.Web.Management.Aspnet, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="Users" type="Microsoft.Web.Management.AspNet.Users.UsersModuleProvider, Microsoft.Web.Management.Aspnet, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="WebForms" type="Microsoft.Web.Management.AspNet.WebForms.WebFormsModuleProvider, Microsoft.Web.Management.Aspnet, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="AppSettings" type="Microsoft.Web.Management.AspNet.AppSettings.AppSettingsModuleProvider, Microsoft.Web.Management.Aspnet, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="ConnectionStrings" type="Microsoft.Web.Management.AspNet.ConnectionStrings.ConnectionStringsModuleProvider, Microsoft.Web.Management.Aspnet, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="Globalization" type="Microsoft.Web.Management.AspNet.Globalization.GlobalizationModuleProvider, Microsoft.Web.Management.Aspnet, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="Compilation" type="Microsoft.Web.Management.AspNet.Compilation.CompilationModuleProvider, Microsoft.Web.Management.Aspnet, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="MachineKey" type="Microsoft.Web.Management.AspNet.MachineKey.MachineKeyModuleProvider, Microsoft.Web.Management.Aspnet, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="ProviderConfiguration" type="Microsoft.Web.Management.AspNet.Providers.ProviderConfigurationModuleProvider, Microsoft.Web.Management.Aspnet, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="Profile" type="Microsoft.Web.Management.AspNet.Profile.ProfileModuleProvider, Microsoft.Web.Management.Aspnet, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="SessionState" type="Microsoft.Web.Management.AspNet.SessionState.SessionStateModuleProvider, Microsoft.Web.Management.Aspnet, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="SmtpMail" type="Microsoft.Web.Management.AspNet.SmtpMail.SmtpMailModuleProvider, Microsoft.Web.Management.Aspnet, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="ASPNETAuthorization" type="Microsoft.Web.Management.AspNet.Authorization.AuthorizationModuleProvider, Microsoft.Web.Management.Aspnet, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="ASPNETErrorPages" type="Microsoft.Web.Management.AspNet.ErrorPages.ErrorPagesModuleProvider, Microsoft.Web.Management.Aspnet, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
|
||||
<!-- FTP Modules-->
|
||||
<!-- <add name="FtpSites" type="Microsoft.Web.Management.Ftp.Sites.SitesModuleProvider, Microsoft.Web.Management.Ftp, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="FtpDirectoryBrowse" type="Microsoft.Web.Management.Ftp.DirectoryBrowse.DirectoryBrowseModuleProvider, Microsoft.Web.Management.Ftp, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="FtpMessages" type="Microsoft.Web.Management.Ftp.Messages.MessagesModuleProvider, Microsoft.Web.Management.Ftp, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="FtpUserIsolation" type="Microsoft.Web.Management.Ftp.UserIsolation.UserIsolationModuleProvider, Microsoft.Web.Management.Ftp, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="FtpSsl" type="Microsoft.Web.Management.Ftp.Ssl.SslModuleProvider, Microsoft.Web.Management.Ftp, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="FtpAuthorization" type="Microsoft.Web.Management.Ftp.Authorization.AuthorizationModuleProvider, Microsoft.Web.Management.Ftp, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="FtpIPRestrictions" type="Microsoft.Web.Management.Ftp.IPRestrictions.IPRestrictionsModuleProvider, Microsoft.Web.Management.Ftp, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="FtpLogging" type="Microsoft.Web.Management.Ftp.Logging.LoggingModuleProvider, Microsoft.Web.Management.Ftp, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="FtpFirewall" type="Microsoft.Web.Management.Ftp.Firewall.FirewallModuleProvider, Microsoft.Web.Management.Ftp, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="FtpAuthentication" type="Microsoft.Web.Management.Ftp.Authentication.AuthenticationModuleProvider, Microsoft.Web.Management.Ftp, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="FtpCurrentSessions" type="Microsoft.Web.Management.Ftp.CurrentSessions.CurrentSessionsModuleProvider, Microsoft.Web.Management.Ftp, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="FtpRequestFiltering" type="Microsoft.Web.Management.Ftp.RequestFiltering.RequestFilteringModuleProvider, Microsoft.Web.Management.Ftp, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="WebDAV" type="Microsoft.Web.Management.Iis.WebDAV.WebDAVModuleProvider, Microsoft.Web.Management.WebDAV, Version=7.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
-->
|
||||
<add name="WebDeployment" type="Microsoft.Web.Deployment.UI.PackagingModuleProvider, Microsoft.Web.Deployment.UI.Server, Version=7.0.9.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
|
||||
<add name="PlatformInstaller" type="Microsoft.Web.Management.PlatformInstaller.Server.PlatformInstallerModuleProvider, Microsoft.Web.Management.PlatformInstaller.Server, Version=2.0.9.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
|
||||
<add name="Rewrite" type="Microsoft.Web.Management.Iis.Rewrite.RewriteModuleProvider, Microsoft.Web.Management.Rewrite, Version=7.2.1.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
|
||||
<add name="DBManager" type="Microsoft.Web.Management.DatabaseManager.DBManagerModuleProvider, Microsoft.Web.Management.DatabaseManager, Version=1.0.1.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
|
||||
</moduleProviders>
|
||||
|
||||
<!-- For all Sites -->
|
||||
<location path=".">
|
||||
<modules>
|
||||
<add name="WebObjects" />
|
||||
<add name="Modules" />
|
||||
<add name="Handlers" />
|
||||
<add name="ExtensionRestrictions" />
|
||||
<add name="Authentication" />
|
||||
<add name="AnonymousAuthentication" />
|
||||
<add name="BasicAuthentication" />
|
||||
<add name="ActiveDirectoryAuthentication" />
|
||||
<add name="WindowsAuthentication" />
|
||||
<add name="DigestAuthentication" />
|
||||
<add name="Authorization" />
|
||||
<add name="IPRestrictions" />
|
||||
<add name="Ssl" />
|
||||
<add name="Certificates" />
|
||||
<add name="DefaultDocument" />
|
||||
<add name="DirectoryBrowse" />
|
||||
<add name="Compression" />
|
||||
<add name="CustomErrors" />
|
||||
<add name="HttpHeaders" />
|
||||
<!-- <add name="NativeCaching" /> -->
|
||||
<add name="HttpRedirect" />
|
||||
<add name="MimeTypes" />
|
||||
<add name="ClassicAsp" />
|
||||
<add name="Cgi" />
|
||||
<add name="FailureTracing" />
|
||||
<!-- <add name="WorkerProcesses" /> -->
|
||||
<add name="IsapiFilters" />
|
||||
<add name="Administrators" />
|
||||
<add name="Service" />
|
||||
<!--add name="Delegation" /-->
|
||||
<add name="FormsAuthentication" />
|
||||
<add name="Impersonation" />
|
||||
<add name="TrustLevels" />
|
||||
<add name="Roles" />
|
||||
<add name="Users" />
|
||||
<add name="WebForms" />
|
||||
<add name="AppSettings" />
|
||||
<add name="ConnectionStrings" />
|
||||
<add name="Globalization" />
|
||||
<add name="Compilation" />
|
||||
<add name="MachineKey" />
|
||||
<add name="ProviderConfiguration" />
|
||||
<add name="Profile" />
|
||||
<add name="SessionState" />
|
||||
<add name="SmtpMail" />
|
||||
<!-- <add name="WebDAV" /> -->
|
||||
<add name="ASPNETAuthorization" />
|
||||
<add name="ASPNETErrorPages" />
|
||||
<add name="RequestFiltering" />
|
||||
<add name="WebDeployment" />
|
||||
<add name="PlatformInstaller" />
|
||||
<add name="Rewrite" />
|
||||
<add name="DBManager" />
|
||||
</modules>
|
||||
</location>
|
||||
</configuration>
|
953
IISExpress/AppServer/applicationhost.config
Normal file
953
IISExpress/AppServer/applicationhost.config
Normal file
|
@ -0,0 +1,953 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
|
||||
IIS configuration sections.
|
||||
|
||||
For schema documentation, see
|
||||
%IIS_BIN%\config\schema\IIS_schema.xml.
|
||||
|
||||
Please make a backup of this file before making any changes to it.
|
||||
|
||||
NOTE: The following environment variables are available to be used
|
||||
within this file and are understood by the IIS Development Express.
|
||||
|
||||
%IIS_USER_HOME% - The IIS Development Express home directory for the user
|
||||
%IIS_SITES_HOME% - The default home directory for sites
|
||||
%IIS_BIN% - The location of the IIS Development Express binaries
|
||||
%SYSTEMDRIVE% - The drive letter of %IIS_BIN%
|
||||
|
||||
-->
|
||||
|
||||
<configuration>
|
||||
|
||||
<!--
|
||||
|
||||
The <configSections> section controls the registration of sections.
|
||||
Section is the basic unit of deployment, locking, searching and
|
||||
containment for configuration settings.
|
||||
|
||||
Every section belongs to one section group.
|
||||
A section group is a container of logically-related sections.
|
||||
|
||||
Sections cannot be nested.
|
||||
Section groups may be nested.
|
||||
|
||||
<section
|
||||
name="" [Required, Collection Key] [XML name of the section]
|
||||
allowDefinition="Everywhere" [MachineOnly|MachineToApplication|AppHostOnly|Everywhere] [Level where it can be set]
|
||||
overrideModeDefault="Allow" [Allow|Deny] [Default delegation mode]
|
||||
allowLocation="true" [true|false] [Allowed in location tags]
|
||||
/>
|
||||
|
||||
The recommended way to unlock sections is by using a location tag:
|
||||
<location path="Default Web Site" overrideMode="Allow">
|
||||
<system.webServer>
|
||||
<asp />
|
||||
</system.webServer>
|
||||
</location>
|
||||
|
||||
-->
|
||||
<configSections>
|
||||
<sectionGroup name="system.applicationHost">
|
||||
<section name="applicationPools" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
|
||||
<section name="configHistory" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
|
||||
<section name="customMetadata" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
|
||||
<section name="listenerAdapters" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
|
||||
<section name="log" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
|
||||
<section name="preloadProviders" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
|
||||
<section name="sites" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
|
||||
<section name="webLimits" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
|
||||
</sectionGroup>
|
||||
|
||||
<sectionGroup name="system.webServer">
|
||||
<section name="asp" overrideModeDefault="Deny" />
|
||||
<section name="caching" overrideModeDefault="Allow" />
|
||||
<section name="cgi" overrideModeDefault="Deny" />
|
||||
<section name="defaultDocument" overrideModeDefault="Allow" />
|
||||
<section name="directoryBrowse" overrideModeDefault="Allow" />
|
||||
<section name="fastCgi" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
|
||||
<section name="globalModules" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
|
||||
<section name="handlers" overrideModeDefault="Deny" />
|
||||
<section name="httpCompression" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
|
||||
<section name="httpErrors" overrideModeDefault="Allow" />
|
||||
<section name="httpLogging" overrideModeDefault="Deny" />
|
||||
<section name="httpProtocol" overrideModeDefault="Allow" />
|
||||
<section name="httpRedirect" overrideModeDefault="Allow" />
|
||||
<section name="httpTracing" overrideModeDefault="Deny" />
|
||||
<section name="isapiFilters" allowDefinition="MachineToApplication" overrideModeDefault="Deny" />
|
||||
<section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Deny" />
|
||||
<section name="odbcLogging" overrideModeDefault="Deny" />
|
||||
<sectionGroup name="security">
|
||||
<section name="access" overrideModeDefault="Deny" />
|
||||
<section name="applicationDependencies" overrideModeDefault="Deny" />
|
||||
<sectionGroup name="authentication">
|
||||
<section name="anonymousAuthentication" overrideModeDefault="Deny" />
|
||||
<section name="basicAuthentication" overrideModeDefault="Deny" />
|
||||
<section name="clientCertificateMappingAuthentication" overrideModeDefault="Deny" />
|
||||
<section name="digestAuthentication" overrideModeDefault="Deny" />
|
||||
<section name="iisClientCertificateMappingAuthentication" overrideModeDefault="Deny" />
|
||||
<section name="windowsAuthentication" overrideModeDefault="Deny" />
|
||||
</sectionGroup>
|
||||
<section name="authorization" overrideModeDefault="Allow" />
|
||||
<section name="ipSecurity" overrideModeDefault="Deny" />
|
||||
<section name="isapiCgiRestriction" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
|
||||
<section name="requestFiltering" overrideModeDefault="Allow" />
|
||||
</sectionGroup>
|
||||
<section name="serverRuntime" overrideModeDefault="Deny" />
|
||||
<section name="serverSideInclude" overrideModeDefault="Deny" />
|
||||
<section name="staticContent" overrideModeDefault="Allow" />
|
||||
<sectionGroup name="tracing">
|
||||
<section name="traceFailedRequests" overrideModeDefault="Allow" />
|
||||
<section name="traceProviderDefinitions" overrideModeDefault="Deny" />
|
||||
</sectionGroup>
|
||||
<section name="urlCompression" overrideModeDefault="Allow" />
|
||||
<section name="validation" overrideModeDefault="Allow" />
|
||||
<sectionGroup name="webdav">
|
||||
<section name="globalSettings" overrideModeDefault="Deny" />
|
||||
<section name="authoring" overrideModeDefault="Deny" />
|
||||
<section name="authoringRules" overrideModeDefault="Deny" />
|
||||
</sectionGroup>
|
||||
<sectionGroup name="rewrite">
|
||||
<section name="allowedServerVariables" overrideModeDefault="Deny" />
|
||||
<section name="rules" overrideModeDefault="Allow" />
|
||||
<section name="outboundRules" overrideModeDefault="Allow" />
|
||||
<section name="globalRules" overrideModeDefault="Deny" allowDefinition="AppHostOnly" />
|
||||
<section name="providers" overrideModeDefault="Allow" />
|
||||
<section name="rewriteMaps" overrideModeDefault="Allow" />
|
||||
</sectionGroup>
|
||||
</sectionGroup>
|
||||
</configSections>
|
||||
|
||||
<configProtectedData>
|
||||
<providers>
|
||||
<add name="IISWASOnlyRsaProvider" type="" description="Uses RsaCryptoServiceProvider to encrypt and decrypt" keyContainerName="iisWasKey" cspProviderName="" useMachineContainer="true" useOAEP="false" />
|
||||
<add name="AesProvider" type="Microsoft.ApplicationHost.AesProtectedConfigurationProvider" description="Uses an AES session key to encrypt and decrypt" keyContainerName="iisConfigurationKey" cspProviderName="" useOAEP="false" useMachineContainer="true" sessionKey="AQIAAA5mAAAApAAAKmFQvWHDEETRz8l2bjZlRxIkwcqTFaCUnCLljn3Q1OkesrhEO9YyLyx4bUhsj1/DyShAv7OAFFhXlrlomaornnk5PLeyO4lIXxaiT33yOFUUgxDx4GSaygkqghVV0tO5yQ/XguUBp2juMfZyztnsNa4pLcz7ZNZQ6p4yn9hxwNs=" />
|
||||
<add name="IISWASOnlyAesProvider" type="Microsoft.ApplicationHost.AesProtectedConfigurationProvider" description="Uses an AES session key to encrypt and decrypt" keyContainerName="iisWasKey" cspProviderName="" useOAEP="false" useMachineContainer="true" sessionKey="AQIAAA5mAAAApAAA4WoiRJ8KHwzAG8AgejPxEOO4/2Vhkolbwo/8gZeNdUDSD36m55hWv4uC9tr/MlKdnwRLL0NhT50Gccyftqz5xTZ0dg5FtvQhTw/he1NwexTKbV+I4Zrd+sZUqHZTsr7JiEr6OHGXL70qoISW5G2m9U8wKT3caPiDPNj2aAaYPLo=" />
|
||||
</providers>
|
||||
</configProtectedData>
|
||||
|
||||
<system.applicationHost>
|
||||
|
||||
<applicationPools>
|
||||
<!-- <add name="Clr4IntegratedAppPool" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />
|
||||
<add name="Clr4ClassicAppPool" managedRuntimeVersion="v4.0" managedPipelineMode="Classic" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />
|
||||
<add name="Clr2IntegratedAppPool" managedRuntimeVersion="v2.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />
|
||||
<add name="Clr2ClassicAppPool" managedRuntimeVersion="v2.0" managedPipelineMode="Classic" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />
|
||||
<add name="UnmanagedClassicAppPool" managedRuntimeVersion="" managedPipelineMode="Classic" autoStart="true" />-->
|
||||
<add name="IISExpressAppPool" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />
|
||||
<applicationPoolDefaults managedRuntimeLoader="v4.0" >
|
||||
<processModel/>
|
||||
</applicationPoolDefaults>
|
||||
</applicationPools>
|
||||
|
||||
<!--
|
||||
|
||||
The <listenerAdapters> section defines the protocols with which the
|
||||
Windows Process Activation Service (WAS) binds.
|
||||
|
||||
-->
|
||||
<listenerAdapters>
|
||||
<add name="http" />
|
||||
</listenerAdapters>
|
||||
|
||||
<sites>
|
||||
<site name="NZBDrone" id="1" serverAutoStart="true">
|
||||
<application path="/">
|
||||
<virtualDirectory path="/" physicalPath="%NZBDRONE_PATH%\NZBDrone.Web" />
|
||||
</application>
|
||||
<bindings>
|
||||
<binding protocol="http" bindingInformation="*:8080:" />
|
||||
</bindings>
|
||||
</site>
|
||||
<siteDefaults>
|
||||
<logFile logFormat="W3C" directory="%NZBDRONE_PATH%\Logs\IIS" enabled="false" />
|
||||
<traceFailedRequestsLogging directory="%NZBDRONE_PATH%\Logs\IIS\TraceLogFiles" enabled="true" />
|
||||
</siteDefaults>
|
||||
<applicationDefaults applicationPool="IISExpressAppPool" />
|
||||
<virtualDirectoryDefaults allowSubDirConfig="true" />
|
||||
</sites>
|
||||
|
||||
<webLimits />
|
||||
|
||||
</system.applicationHost>
|
||||
|
||||
<system.webServer>
|
||||
|
||||
<serverRuntime />
|
||||
|
||||
<asp scriptErrorSentToBrowser="true">
|
||||
<cache diskTemplateCacheDirectory="%TEMP%\iisexpress\ASP Compiled Templates" />
|
||||
<limits />
|
||||
</asp>
|
||||
|
||||
<caching enabled="true" enableKernelCache="true">
|
||||
</caching>
|
||||
|
||||
<cgi />
|
||||
|
||||
<defaultDocument enabled="true">
|
||||
<files>
|
||||
<add value="Default.htm" />
|
||||
<add value="index.htm" />
|
||||
<add value="index.html" />
|
||||
<add value="iisstart.htm" />
|
||||
<add value="default.aspx" />
|
||||
</files>
|
||||
</defaultDocument>
|
||||
|
||||
<directoryBrowse enabled="false" />
|
||||
|
||||
<fastCgi />
|
||||
|
||||
<!--
|
||||
|
||||
The <globalModules> section defines all native-code modules.
|
||||
To enable a module, specify it in the <modules> section.
|
||||
|
||||
-->
|
||||
<globalModules>
|
||||
<add name="UriCacheModule" image="%IIS_BIN%\cachuri.dll" />
|
||||
<!-- <add name="FileCacheModule" image="%IIS_BIN%\cachfile.dll" /> -->
|
||||
<add name="TokenCacheModule" image="%IIS_BIN%\cachtokn.dll" />
|
||||
<!-- <add name="HttpCacheModule" image="%IIS_BIN%\cachhttp.dll" /> -->
|
||||
<add name="DynamicCompressionModule" image="%IIS_BIN%\compdyn.dll" />
|
||||
<add name="StaticCompressionModule" image="%IIS_BIN%\compstat.dll" />
|
||||
<add name="DefaultDocumentModule" image="%IIS_BIN%\defdoc.dll" />
|
||||
<add name="DirectoryListingModule" image="%IIS_BIN%\dirlist.dll" />
|
||||
<add name="ProtocolSupportModule" image="%IIS_BIN%\protsup.dll" />
|
||||
<add name="HttpRedirectionModule" image="%IIS_BIN%\redirect.dll" />
|
||||
<add name="ServerSideIncludeModule" image="%IIS_BIN%\iis_ssi.dll" />
|
||||
<add name="StaticFileModule" image="%IIS_BIN%\static.dll" />
|
||||
<add name="AnonymousAuthenticationModule" image="%IIS_BIN%\authanon.dll" />
|
||||
<add name="CertificateMappingAuthenticationModule" image="%IIS_BIN%\authcert.dll" />
|
||||
<add name="UrlAuthorizationModule" image="%IIS_BIN%\urlauthz.dll" />
|
||||
<add name="BasicAuthenticationModule" image="%IIS_BIN%\authbas.dll" />
|
||||
<add name="WindowsAuthenticationModule" image="%IIS_BIN%\authsspi.dll" />
|
||||
<!-- <add name="DigestAuthenticationModule" image="%IIS_BIN%\authmd5.dll" /> -->
|
||||
<add name="IISCertificateMappingAuthenticationModule" image="%IIS_BIN%\authmap.dll" />
|
||||
<add name="IpRestrictionModule" image="%IIS_BIN%\iprestr.dll" />
|
||||
<add name="RequestFilteringModule" image="%IIS_BIN%\modrqflt.dll" />
|
||||
<add name="CustomLoggingModule" image="%IIS_BIN%\logcust.dll" />
|
||||
<add name="CustomErrorModule" image="%IIS_BIN%\custerr.dll" />
|
||||
<add name="HttpLoggingModule" image="%IIS_BIN%\loghttp.dll" />
|
||||
<!-- <add name="TracingModule" image="%IIS_BIN%\iisetw.dll" /> -->
|
||||
<add name="FailedRequestsTracingModule" image="%IIS_BIN%\iisfreb.dll" />
|
||||
<add name="RequestMonitorModule" image="%IIS_BIN%\iisreqs.dll" />
|
||||
<add name="IsapiModule" image="%IIS_BIN%\isapi.dll" />
|
||||
<add name="IsapiFilterModule" image="%IIS_BIN%\filter.dll" />
|
||||
<add name="CgiModule" image="%IIS_BIN%\cgi.dll" />
|
||||
<add name="FastCgiModule" image="%IIS_BIN%\iisfcgi.dll" />
|
||||
<!-- <add name="WebDAVModule" image="%IIS_BIN%\webdav.dll" /> -->
|
||||
<add name="RewriteModule" image="%IIS_BIN%\rewrite.dll" />
|
||||
<add name="ConfigurationValidationModule" image="%IIS_BIN%\validcfg.dll" />
|
||||
<add name="WebMatrixSupportModule" image="%IIS_BIN%\webmatrixsup.dll" />
|
||||
<add name="ManagedEngine" image="%windir%\Microsoft.NET\Framework\v2.0.50727\webengine.dll" preCondition="integratedMode,runtimeVersionv2.0,bitness32" />
|
||||
<add name="ManagedEngineV4.0_32bit" image="%windir%\Microsoft.NET\Framework\v4.0.30319\webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness32" />
|
||||
</globalModules>
|
||||
|
||||
<httpCompression directory="%TEMP%\iisexpress\IIS Temporary Compressed Files">
|
||||
<scheme name="gzip" dll="%IIS_BIN%\gzip.dll" />
|
||||
<dynamicTypes>
|
||||
<add mimeType="text/*" enabled="true" />
|
||||
<add mimeType="message/*" enabled="true" />
|
||||
<add mimeType="application/x-javascript" enabled="true" />
|
||||
<add mimeType="*/*" enabled="false" />
|
||||
</dynamicTypes>
|
||||
<staticTypes>
|
||||
<add mimeType="text/*" enabled="true" />
|
||||
<add mimeType="message/*" enabled="true" />
|
||||
<add mimeType="application/x-javascript" enabled="true" />
|
||||
<add mimeType="application/atom+xml" enabled="true" />
|
||||
<add mimeType="application/xaml+xml" enabled="true" />
|
||||
<add mimeType="*/*" enabled="false" />
|
||||
</staticTypes>
|
||||
</httpCompression>
|
||||
|
||||
<httpErrors lockAttributes="allowAbsolutePathsWhenDelegated,defaultPath">
|
||||
<error statusCode="401" prefixLanguageFilePath="%IIS_BIN%\custerr" path="401.htm" />
|
||||
<error statusCode="403" prefixLanguageFilePath="%IIS_BIN%\custerr" path="403.htm" />
|
||||
<error statusCode="404" prefixLanguageFilePath="%IIS_BIN%\custerr" path="404.htm" />
|
||||
<error statusCode="405" prefixLanguageFilePath="%IIS_BIN%\custerr" path="405.htm" />
|
||||
<error statusCode="406" prefixLanguageFilePath="%IIS_BIN%\custerr" path="406.htm" />
|
||||
<error statusCode="412" prefixLanguageFilePath="%IIS_BIN%\custerr" path="412.htm" />
|
||||
<error statusCode="500" prefixLanguageFilePath="%IIS_BIN%\custerr" path="500.htm" />
|
||||
<error statusCode="501" prefixLanguageFilePath="%IIS_BIN%\custerr" path="501.htm" />
|
||||
<error statusCode="502" prefixLanguageFilePath="%IIS_BIN%\custerr" path="502.htm" />
|
||||
</httpErrors>
|
||||
|
||||
<httpLogging dontLog="false" />
|
||||
|
||||
<httpProtocol>
|
||||
<customHeaders>
|
||||
<clear />
|
||||
<add name="X-Powered-By" value="ASP.NET" />
|
||||
</customHeaders>
|
||||
<redirectHeaders>
|
||||
<clear />
|
||||
</redirectHeaders>
|
||||
</httpProtocol>
|
||||
|
||||
<httpRedirect enabled="false" />
|
||||
|
||||
<httpTracing>
|
||||
</httpTracing>
|
||||
|
||||
<isapiFilters>
|
||||
<filter name="ASP.Net_2.0.50727.0" path="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_filter.dll" enableCache="true" preCondition="bitness32,runtimeVersionv2.0" />
|
||||
<filter name="ASP.Net_2.0_for_v1.1" path="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_filter.dll" enableCache="true" preCondition="runtimeVersionv1.1" />
|
||||
<filter name="ASP.Net_4.0_32bit" path="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_filter.dll" enableCache="true" preCondition="bitness32,runtimeVersionv4.0" />
|
||||
</isapiFilters>
|
||||
|
||||
<odbcLogging />
|
||||
|
||||
<security>
|
||||
|
||||
<access sslFlags="None" />
|
||||
|
||||
<applicationDependencies>
|
||||
<application name="Active Server Pages" groupId="ASP" />
|
||||
</applicationDependencies>
|
||||
|
||||
<authentication>
|
||||
|
||||
<anonymousAuthentication enabled="true" userName="" />
|
||||
|
||||
<basicAuthentication enabled="false" />
|
||||
|
||||
<clientCertificateMappingAuthentication enabled="false" />
|
||||
|
||||
<digestAuthentication enabled="false" />
|
||||
|
||||
<iisClientCertificateMappingAuthentication enabled="false">
|
||||
</iisClientCertificateMappingAuthentication>
|
||||
|
||||
<windowsAuthentication enabled="false">
|
||||
<providers>
|
||||
<add value="Negotiate" />
|
||||
<add value="NTLM" />
|
||||
</providers>
|
||||
</windowsAuthentication>
|
||||
|
||||
</authentication>
|
||||
|
||||
<authorization>
|
||||
<add accessType="Allow" users="*" />
|
||||
</authorization>
|
||||
|
||||
<ipSecurity allowUnlisted="true" />
|
||||
|
||||
<isapiCgiRestriction notListedIsapisAllowed="true" notListedCgisAllowed="true">
|
||||
<add path="%windir%\Microsoft.NET\Framework\v4.0.30319\webengine4.dll" allowed="true" groupId="ASP.NET_v4.0" description="ASP.NET_v4.0" />
|
||||
</isapiCgiRestriction>
|
||||
|
||||
<requestFiltering>
|
||||
<fileExtensions allowUnlisted="true" applyToWebDAV="true">
|
||||
<add fileExtension=".asa" allowed="false" />
|
||||
<add fileExtension=".asax" allowed="false" />
|
||||
<add fileExtension=".ascx" allowed="false" />
|
||||
<add fileExtension=".master" allowed="false" />
|
||||
<add fileExtension=".skin" allowed="false" />
|
||||
<add fileExtension=".browser" allowed="false" />
|
||||
<add fileExtension=".sitemap" allowed="false" />
|
||||
<add fileExtension=".config" allowed="false" />
|
||||
<add fileExtension=".cs" allowed="false" />
|
||||
<add fileExtension=".csproj" allowed="false" />
|
||||
<add fileExtension=".vb" allowed="false" />
|
||||
<add fileExtension=".vbproj" allowed="false" />
|
||||
<add fileExtension=".webinfo" allowed="false" />
|
||||
<add fileExtension=".licx" allowed="false" />
|
||||
<add fileExtension=".resx" allowed="false" />
|
||||
<add fileExtension=".resources" allowed="false" />
|
||||
<add fileExtension=".mdb" allowed="false" />
|
||||
<add fileExtension=".vjsproj" allowed="false" />
|
||||
<add fileExtension=".java" allowed="false" />
|
||||
<add fileExtension=".jsl" allowed="false" />
|
||||
<add fileExtension=".ldb" allowed="false" />
|
||||
<add fileExtension=".dsdgm" allowed="false" />
|
||||
<add fileExtension=".ssdgm" allowed="false" />
|
||||
<add fileExtension=".lsad" allowed="false" />
|
||||
<add fileExtension=".ssmap" allowed="false" />
|
||||
<add fileExtension=".cd" allowed="false" />
|
||||
<add fileExtension=".dsprototype" allowed="false" />
|
||||
<add fileExtension=".lsaprototype" allowed="false" />
|
||||
<add fileExtension=".sdm" allowed="false" />
|
||||
<add fileExtension=".sdmDocument" allowed="false" />
|
||||
<add fileExtension=".mdf" allowed="false" />
|
||||
<add fileExtension=".ldf" allowed="false" />
|
||||
<add fileExtension=".ad" allowed="false" />
|
||||
<add fileExtension=".dd" allowed="false" />
|
||||
<add fileExtension=".ldd" allowed="false" />
|
||||
<add fileExtension=".sd" allowed="false" />
|
||||
<add fileExtension=".adprototype" allowed="false" />
|
||||
<add fileExtension=".lddprototype" allowed="false" />
|
||||
<add fileExtension=".exclude" allowed="false" />
|
||||
<add fileExtension=".refresh" allowed="false" />
|
||||
<add fileExtension=".compiled" allowed="false" />
|
||||
<add fileExtension=".msgx" allowed="false" />
|
||||
<add fileExtension=".vsdisco" allowed="false" />
|
||||
<add fileExtension=".rules" allowed="false" />
|
||||
</fileExtensions>
|
||||
<verbs allowUnlisted="true" applyToWebDAV="true" />
|
||||
<hiddenSegments applyToWebDAV="true">
|
||||
<add segment="web.config" />
|
||||
<add segment="bin" />
|
||||
<add segment="App_code" />
|
||||
<add segment="App_GlobalResources" />
|
||||
<add segment="App_LocalResources" />
|
||||
<add segment="App_WebReferences" />
|
||||
<add segment="App_Data" />
|
||||
<add segment="App_Browsers" />
|
||||
</hiddenSegments>
|
||||
</requestFiltering>
|
||||
|
||||
</security>
|
||||
|
||||
<serverSideInclude ssiExecDisable="false" />
|
||||
|
||||
<staticContent lockAttributes="isDocFooterFileName">
|
||||
<mimeMap fileExtension=".323" mimeType="text/h323" />
|
||||
<mimeMap fileExtension=".aaf" mimeType="application/octet-stream" />
|
||||
<mimeMap fileExtension=".aca" mimeType="application/octet-stream" />
|
||||
<mimeMap fileExtension=".accdb" mimeType="application/msaccess" />
|
||||
<mimeMap fileExtension=".accde" mimeType="application/msaccess" />
|
||||
<mimeMap fileExtension=".accdt" mimeType="application/msaccess" />
|
||||
<mimeMap fileExtension=".acx" mimeType="application/internet-property-stream" />
|
||||
<mimeMap fileExtension=".afm" mimeType="application/octet-stream" />
|
||||
<mimeMap fileExtension=".ai" mimeType="application/postscript" />
|
||||
<mimeMap fileExtension=".aif" mimeType="audio/x-aiff" />
|
||||
<mimeMap fileExtension=".aifc" mimeType="audio/aiff" />
|
||||
<mimeMap fileExtension=".aiff" mimeType="audio/aiff" />
|
||||
<mimeMap fileExtension=".application" mimeType="application/x-ms-application" />
|
||||
<mimeMap fileExtension=".art" mimeType="image/x-jg" />
|
||||
<mimeMap fileExtension=".asd" mimeType="application/octet-stream" />
|
||||
<mimeMap fileExtension=".asf" mimeType="video/x-ms-asf" />
|
||||
<mimeMap fileExtension=".asi" mimeType="application/octet-stream" />
|
||||
<mimeMap fileExtension=".asm" mimeType="text/plain" />
|
||||
<mimeMap fileExtension=".asr" mimeType="video/x-ms-asf" />
|
||||
<mimeMap fileExtension=".asx" mimeType="video/x-ms-asf" />
|
||||
<mimeMap fileExtension=".atom" mimeType="application/atom+xml" />
|
||||
<mimeMap fileExtension=".au" mimeType="audio/basic" />
|
||||
<mimeMap fileExtension=".avi" mimeType="video/x-msvideo" />
|
||||
<mimeMap fileExtension=".axs" mimeType="application/olescript" />
|
||||
<mimeMap fileExtension=".bas" mimeType="text/plain" />
|
||||
<mimeMap fileExtension=".bcpio" mimeType="application/x-bcpio" />
|
||||
<mimeMap fileExtension=".bin" mimeType="application/octet-stream" />
|
||||
<mimeMap fileExtension=".bmp" mimeType="image/bmp" />
|
||||
<mimeMap fileExtension=".c" mimeType="text/plain" />
|
||||
<mimeMap fileExtension=".cab" mimeType="application/octet-stream" />
|
||||
<mimeMap fileExtension=".calx" mimeType="application/vnd.ms-office.calx" />
|
||||
<mimeMap fileExtension=".cat" mimeType="application/vnd.ms-pki.seccat" />
|
||||
<mimeMap fileExtension=".cdf" mimeType="application/x-cdf" />
|
||||
<mimeMap fileExtension=".chm" mimeType="application/octet-stream" />
|
||||
<mimeMap fileExtension=".class" mimeType="application/x-java-applet" />
|
||||
<mimeMap fileExtension=".clp" mimeType="application/x-msclip" />
|
||||
<mimeMap fileExtension=".cmx" mimeType="image/x-cmx" />
|
||||
<mimeMap fileExtension=".cnf" mimeType="text/plain" />
|
||||
<mimeMap fileExtension=".cod" mimeType="image/cis-cod" />
|
||||
<mimeMap fileExtension=".cpio" mimeType="application/x-cpio" />
|
||||
<mimeMap fileExtension=".cpp" mimeType="text/plain" />
|
||||
<mimeMap fileExtension=".crd" mimeType="application/x-mscardfile" />
|
||||
<mimeMap fileExtension=".crl" mimeType="application/pkix-crl" />
|
||||
<mimeMap fileExtension=".crt" mimeType="application/x-x509-ca-cert" />
|
||||
<mimeMap fileExtension=".csh" mimeType="application/x-csh" />
|
||||
<mimeMap fileExtension=".css" mimeType="text/css" />
|
||||
<mimeMap fileExtension=".csv" mimeType="application/octet-stream" />
|
||||
<mimeMap fileExtension=".cur" mimeType="application/octet-stream" />
|
||||
<mimeMap fileExtension=".dcr" mimeType="application/x-director" />
|
||||
<mimeMap fileExtension=".deploy" mimeType="application/octet-stream" />
|
||||
<mimeMap fileExtension=".der" mimeType="application/x-x509-ca-cert" />
|
||||
<mimeMap fileExtension=".dib" mimeType="image/bmp" />
|
||||
<mimeMap fileExtension=".dir" mimeType="application/x-director" />
|
||||
<mimeMap fileExtension=".disco" mimeType="text/xml" />
|
||||
<mimeMap fileExtension=".dll" mimeType="application/x-msdownload" />
|
||||
<mimeMap fileExtension=".dll.config" mimeType="text/xml" />
|
||||
<mimeMap fileExtension=".dlm" mimeType="text/dlm" />
|
||||
<mimeMap fileExtension=".doc" mimeType="application/msword" />
|
||||
<mimeMap fileExtension=".docm" mimeType="application/vnd.ms-word.document.macroEnabled.12" />
|
||||
<mimeMap fileExtension=".docx" mimeType="application/vnd.openxmlformats-officedocument.wordprocessingml.document" />
|
||||
<mimeMap fileExtension=".dot" mimeType="application/msword" />
|
||||
<mimeMap fileExtension=".dotm" mimeType="application/vnd.ms-word.template.macroEnabled.12" />
|
||||
<mimeMap fileExtension=".dotx" mimeType="application/vnd.openxmlformats-officedocument.wordprocessingml.template" />
|
||||
<mimeMap fileExtension=".dsp" mimeType="application/octet-stream" />
|
||||
<mimeMap fileExtension=".dtd" mimeType="text/xml" />
|
||||
<mimeMap fileExtension=".dvi" mimeType="application/x-dvi" />
|
||||
<mimeMap fileExtension=".dwf" mimeType="drawing/x-dwf" />
|
||||
<mimeMap fileExtension=".dwp" mimeType="application/octet-stream" />
|
||||
<mimeMap fileExtension=".dxr" mimeType="application/x-director" />
|
||||
<mimeMap fileExtension=".eml" mimeType="message/rfc822" />
|
||||
<mimeMap fileExtension=".emz" mimeType="application/octet-stream" />
|
||||
<mimeMap fileExtension=".eot" mimeType="application/octet-stream" />
|
||||
<mimeMap fileExtension=".eps" mimeType="application/postscript" />
|
||||
<mimeMap fileExtension=".etx" mimeType="text/x-setext" />
|
||||
<mimeMap fileExtension=".evy" mimeType="application/envoy" />
|
||||
<mimeMap fileExtension=".exe" mimeType="application/octet-stream" />
|
||||
<mimeMap fileExtension=".exe.config" mimeType="text/xml" />
|
||||
<mimeMap fileExtension=".fdf" mimeType="application/vnd.fdf" />
|
||||
<mimeMap fileExtension=".fif" mimeType="application/fractals" />
|
||||
<mimeMap fileExtension=".fla" mimeType="application/octet-stream" />
|
||||
<mimeMap fileExtension=".flr" mimeType="x-world/x-vrml" />
|
||||
<mimeMap fileExtension=".flv" mimeType="video/x-flv" />
|
||||
<mimeMap fileExtension=".gif" mimeType="image/gif" />
|
||||
<mimeMap fileExtension=".gtar" mimeType="application/x-gtar" />
|
||||
<mimeMap fileExtension=".gz" mimeType="application/x-gzip" />
|
||||
<mimeMap fileExtension=".h" mimeType="text/plain" />
|
||||
<mimeMap fileExtension=".hdf" mimeType="application/x-hdf" />
|
||||
<mimeMap fileExtension=".hdml" mimeType="text/x-hdml" />
|
||||
<mimeMap fileExtension=".hhc" mimeType="application/x-oleobject" />
|
||||
<mimeMap fileExtension=".hhk" mimeType="application/octet-stream" />
|
||||
<mimeMap fileExtension=".hhp" mimeType="application/octet-stream" />
|
||||
<mimeMap fileExtension=".hlp" mimeType="application/winhlp" />
|
||||
<mimeMap fileExtension=".hqx" mimeType="application/mac-binhex40" />
|
||||
<mimeMap fileExtension=".hta" mimeType="application/hta" />
|
||||
<mimeMap fileExtension=".htc" mimeType="text/x-component" />
|
||||
<mimeMap fileExtension=".htm" mimeType="text/html" />
|
||||
<mimeMap fileExtension=".html" mimeType="text/html" />
|
||||
<mimeMap fileExtension=".htt" mimeType="text/webviewhtml" />
|
||||
<mimeMap fileExtension=".hxt" mimeType="text/html" />
|
||||
<mimeMap fileExtension=".ical" mimeType="text/calendar" />
|
||||
<mimeMap fileExtension=".icalendar" mimeType="text/calendar" />
|
||||
<mimeMap fileExtension=".ico" mimeType="image/x-icon" />
|
||||
<mimeMap fileExtension=".ics" mimeType="text/calendar" />
|
||||
<mimeMap fileExtension=".ief" mimeType="image/ief" />
|
||||
<mimeMap fileExtension=".ifb" mimeType="text/calendar" />
|
||||
<mimeMap fileExtension=".iii" mimeType="application/x-iphone" />
|
||||
<mimeMap fileExtension=".inf" mimeType="application/octet-stream" />
|
||||
<mimeMap fileExtension=".ins" mimeType="application/x-internet-signup" />
|
||||
<mimeMap fileExtension=".isp" mimeType="application/x-internet-signup" />
|
||||
<mimeMap fileExtension=".IVF" mimeType="video/x-ivf" />
|
||||
<mimeMap fileExtension=".jar" mimeType="application/java-archive" />
|
||||
<mimeMap fileExtension=".java" mimeType="application/octet-stream" />
|
||||
<mimeMap fileExtension=".jck" mimeType="application/liquidmotion" />
|
||||
<mimeMap fileExtension=".jcz" mimeType="application/liquidmotion" />
|
||||
<mimeMap fileExtension=".jfif" mimeType="image/pjpeg" />
|
||||
<mimeMap fileExtension=".jpb" mimeType="application/octet-stream" />
|
||||
<mimeMap fileExtension=".jpe" mimeType="image/jpeg" />
|
||||
<mimeMap fileExtension=".jpeg" mimeType="image/jpeg" />
|
||||
<mimeMap fileExtension=".jpg" mimeType="image/jpeg" />
|
||||
<mimeMap fileExtension=".js" mimeType="application/x-javascript" />
|
||||
<mimeMap fileExtension=".jsx" mimeType="text/jscript" />
|
||||
<mimeMap fileExtension=".latex" mimeType="application/x-latex" />
|
||||
<mimeMap fileExtension=".lit" mimeType="application/x-ms-reader" />
|
||||
<mimeMap fileExtension=".lpk" mimeType="application/octet-stream" />
|
||||
<mimeMap fileExtension=".lsf" mimeType="video/x-la-asf" />
|
||||
<mimeMap fileExtension=".lsx" mimeType="video/x-la-asf" />
|
||||
<mimeMap fileExtension=".lzh" mimeType="application/octet-stream" />
|
||||
<mimeMap fileExtension=".m13" mimeType="application/x-msmediaview" />
|
||||
<mimeMap fileExtension=".m14" mimeType="application/x-msmediaview" />
|
||||
<mimeMap fileExtension=".m1v" mimeType="video/mpeg" />
|
||||
<mimeMap fileExtension=".m3u" mimeType="audio/x-mpegurl" />
|
||||
<mimeMap fileExtension=".man" mimeType="application/x-troff-man" />
|
||||
<mimeMap fileExtension=".manifest" mimeType="application/x-ms-manifest" />
|
||||
<mimeMap fileExtension=".map" mimeType="text/plain" />
|
||||
<mimeMap fileExtension=".mdb" mimeType="application/x-msaccess" />
|
||||
<mimeMap fileExtension=".mdp" mimeType="application/octet-stream" />
|
||||
<mimeMap fileExtension=".me" mimeType="application/x-troff-me" />
|
||||
<mimeMap fileExtension=".mht" mimeType="message/rfc822" />
|
||||
<mimeMap fileExtension=".mhtml" mimeType="message/rfc822" />
|
||||
<mimeMap fileExtension=".mid" mimeType="audio/mid" />
|
||||
<mimeMap fileExtension=".midi" mimeType="audio/mid" />
|
||||
<mimeMap fileExtension=".mix" mimeType="application/octet-stream" />
|
||||
<mimeMap fileExtension=".mmf" mimeType="application/x-smaf" />
|
||||
<mimeMap fileExtension=".mno" mimeType="text/xml" />
|
||||
<mimeMap fileExtension=".mny" mimeType="application/x-msmoney" />
|
||||
<mimeMap fileExtension=".mov" mimeType="video/quicktime" />
|
||||
<mimeMap fileExtension=".movie" mimeType="video/x-sgi-movie" />
|
||||
<mimeMap fileExtension=".mp2" mimeType="video/mpeg" />
|
||||
<mimeMap fileExtension=".mp3" mimeType="audio/mpeg" />
|
||||
<mimeMap fileExtension=".mpa" mimeType="video/mpeg" />
|
||||
<mimeMap fileExtension=".mpe" mimeType="video/mpeg" />
|
||||
<mimeMap fileExtension=".mpeg" mimeType="video/mpeg" />
|
||||
<mimeMap fileExtension=".mpg" mimeType="video/mpeg" />
|
||||
<mimeMap fileExtension=".mpp" mimeType="application/vnd.ms-project" />
|
||||
<mimeMap fileExtension=".mpv2" mimeType="video/mpeg" />
|
||||
<mimeMap fileExtension=".ms" mimeType="application/x-troff-ms" />
|
||||
<mimeMap fileExtension=".msi" mimeType="application/octet-stream" />
|
||||
<mimeMap fileExtension=".mso" mimeType="application/octet-stream" />
|
||||
<mimeMap fileExtension=".mvb" mimeType="application/x-msmediaview" />
|
||||
<mimeMap fileExtension=".mvc" mimeType="application/x-miva-compiled" />
|
||||
<mimeMap fileExtension=".nc" mimeType="application/x-netcdf" />
|
||||
<mimeMap fileExtension=".nsc" mimeType="video/x-ms-asf" />
|
||||
<mimeMap fileExtension=".nws" mimeType="message/rfc822" />
|
||||
<mimeMap fileExtension=".ocx" mimeType="application/octet-stream" />
|
||||
<mimeMap fileExtension=".oda" mimeType="application/oda" />
|
||||
<mimeMap fileExtension=".odc" mimeType="text/x-ms-odc" />
|
||||
<mimeMap fileExtension=".ods" mimeType="application/oleobject" />
|
||||
<mimeMap fileExtension=".one" mimeType="application/onenote" />
|
||||
<mimeMap fileExtension=".onea" mimeType="application/onenote" />
|
||||
<mimeMap fileExtension=".onetoc" mimeType="application/onenote" />
|
||||
<mimeMap fileExtension=".onetoc2" mimeType="application/onenote" />
|
||||
<mimeMap fileExtension=".onetmp" mimeType="application/onenote" />
|
||||
<mimeMap fileExtension=".onepkg" mimeType="application/onenote" />
|
||||
<mimeMap fileExtension=".osdx" mimeType="application/opensearchdescription+xml" />
|
||||
<mimeMap fileExtension=".p10" mimeType="application/pkcs10" />
|
||||
<mimeMap fileExtension=".p12" mimeType="application/x-pkcs12" />
|
||||
<mimeMap fileExtension=".p7b" mimeType="application/x-pkcs7-certificates" />
|
||||
<mimeMap fileExtension=".p7c" mimeType="application/pkcs7-mime" />
|
||||
<mimeMap fileExtension=".p7m" mimeType="application/pkcs7-mime" />
|
||||
<mimeMap fileExtension=".p7r" mimeType="application/x-pkcs7-certreqresp" />
|
||||
<mimeMap fileExtension=".p7s" mimeType="application/pkcs7-signature" />
|
||||
<mimeMap fileExtension=".pbm" mimeType="image/x-portable-bitmap" />
|
||||
<mimeMap fileExtension=".pcx" mimeType="application/octet-stream" />
|
||||
<mimeMap fileExtension=".pcz" mimeType="application/octet-stream" />
|
||||
<mimeMap fileExtension=".pdf" mimeType="application/pdf" />
|
||||
<mimeMap fileExtension=".pfb" mimeType="application/octet-stream" />
|
||||
<mimeMap fileExtension=".pfm" mimeType="application/octet-stream" />
|
||||
<mimeMap fileExtension=".pfx" mimeType="application/x-pkcs12" />
|
||||
<mimeMap fileExtension=".pgm" mimeType="image/x-portable-graymap" />
|
||||
<mimeMap fileExtension=".pko" mimeType="application/vnd.ms-pki.pko" />
|
||||
<mimeMap fileExtension=".pma" mimeType="application/x-perfmon" />
|
||||
<mimeMap fileExtension=".pmc" mimeType="application/x-perfmon" />
|
||||
<mimeMap fileExtension=".pml" mimeType="application/x-perfmon" />
|
||||
<mimeMap fileExtension=".pmr" mimeType="application/x-perfmon" />
|
||||
<mimeMap fileExtension=".pmw" mimeType="application/x-perfmon" />
|
||||
<mimeMap fileExtension=".png" mimeType="image/png" />
|
||||
<mimeMap fileExtension=".pnm" mimeType="image/x-portable-anymap" />
|
||||
<mimeMap fileExtension=".pnz" mimeType="image/png" />
|
||||
<mimeMap fileExtension=".pot" mimeType="application/vnd.ms-powerpoint" />
|
||||
<mimeMap fileExtension=".potm" mimeType="application/vnd.ms-powerpoint.template.macroEnabled.12" />
|
||||
<mimeMap fileExtension=".potx" mimeType="application/vnd.openxmlformats-officedocument.presentationml.template" />
|
||||
<mimeMap fileExtension=".ppam" mimeType="application/vnd.ms-powerpoint.addin.macroEnabled.12" />
|
||||
<mimeMap fileExtension=".ppm" mimeType="image/x-portable-pixmap" />
|
||||
<mimeMap fileExtension=".pps" mimeType="application/vnd.ms-powerpoint" />
|
||||
<mimeMap fileExtension=".ppsm" mimeType="application/vnd.ms-powerpoint.slideshow.macroEnabled.12" />
|
||||
<mimeMap fileExtension=".ppsx" mimeType="application/vnd.openxmlformats-officedocument.presentationml.slideshow" />
|
||||
<mimeMap fileExtension=".ppt" mimeType="application/vnd.ms-powerpoint" />
|
||||
<mimeMap fileExtension=".pptm" mimeType="application/vnd.ms-powerpoint.presentation.macroEnabled.12" />
|
||||
<mimeMap fileExtension=".pptx" mimeType="application/vnd.openxmlformats-officedocument.presentationml.presentation" />
|
||||
<mimeMap fileExtension=".prf" mimeType="application/pics-rules" />
|
||||
<mimeMap fileExtension=".prm" mimeType="application/octet-stream" />
|
||||
<mimeMap fileExtension=".prx" mimeType="application/octet-stream" />
|
||||
<mimeMap fileExtension=".ps" mimeType="application/postscript" />
|
||||
<mimeMap fileExtension=".psd" mimeType="application/octet-stream" />
|
||||
<mimeMap fileExtension=".psm" mimeType="application/octet-stream" />
|
||||
<mimeMap fileExtension=".psp" mimeType="application/octet-stream" />
|
||||
<mimeMap fileExtension=".pub" mimeType="application/x-mspublisher" />
|
||||
<mimeMap fileExtension=".qt" mimeType="video/quicktime" />
|
||||
<mimeMap fileExtension=".qtl" mimeType="application/x-quicktimeplayer" />
|
||||
<mimeMap fileExtension=".qxd" mimeType="application/octet-stream" />
|
||||
<mimeMap fileExtension=".ra" mimeType="audio/x-pn-realaudio" />
|
||||
<mimeMap fileExtension=".ram" mimeType="audio/x-pn-realaudio" />
|
||||
<mimeMap fileExtension=".rar" mimeType="application/octet-stream" />
|
||||
<mimeMap fileExtension=".ras" mimeType="image/x-cmu-raster" />
|
||||
<mimeMap fileExtension=".rf" mimeType="image/vnd.rn-realflash" />
|
||||
<mimeMap fileExtension=".rgb" mimeType="image/x-rgb" />
|
||||
<mimeMap fileExtension=".rm" mimeType="application/vnd.rn-realmedia" />
|
||||
<mimeMap fileExtension=".rmi" mimeType="audio/mid" />
|
||||
<mimeMap fileExtension=".roff" mimeType="application/x-troff" />
|
||||
<mimeMap fileExtension=".rpm" mimeType="audio/x-pn-realaudio-plugin" />
|
||||
<mimeMap fileExtension=".rtf" mimeType="application/rtf" />
|
||||
<mimeMap fileExtension=".rtx" mimeType="text/richtext" />
|
||||
<mimeMap fileExtension=".scd" mimeType="application/x-msschedule" />
|
||||
<mimeMap fileExtension=".sct" mimeType="text/scriptlet" />
|
||||
<mimeMap fileExtension=".sea" mimeType="application/octet-stream" />
|
||||
<mimeMap fileExtension=".setpay" mimeType="application/set-payment-initiation" />
|
||||
<mimeMap fileExtension=".setreg" mimeType="application/set-registration-initiation" />
|
||||
<mimeMap fileExtension=".sgml" mimeType="text/sgml" />
|
||||
<mimeMap fileExtension=".sh" mimeType="application/x-sh" />
|
||||
<mimeMap fileExtension=".shar" mimeType="application/x-shar" />
|
||||
<mimeMap fileExtension=".sit" mimeType="application/x-stuffit" />
|
||||
<mimeMap fileExtension=".sldm" mimeType="application/vnd.ms-powerpoint.slide.macroEnabled.12" />
|
||||
<mimeMap fileExtension=".sldx" mimeType="application/vnd.openxmlformats-officedocument.presentationml.slide" />
|
||||
<mimeMap fileExtension=".smd" mimeType="audio/x-smd" />
|
||||
<mimeMap fileExtension=".smi" mimeType="application/octet-stream" />
|
||||
<mimeMap fileExtension=".smx" mimeType="audio/x-smd" />
|
||||
<mimeMap fileExtension=".smz" mimeType="audio/x-smd" />
|
||||
<mimeMap fileExtension=".snd" mimeType="audio/basic" />
|
||||
<mimeMap fileExtension=".snp" mimeType="application/octet-stream" />
|
||||
<mimeMap fileExtension=".spc" mimeType="application/x-pkcs7-certificates" />
|
||||
<mimeMap fileExtension=".spl" mimeType="application/futuresplash" />
|
||||
<mimeMap fileExtension=".src" mimeType="application/x-wais-source" />
|
||||
<mimeMap fileExtension=".ssm" mimeType="application/streamingmedia" />
|
||||
<mimeMap fileExtension=".sst" mimeType="application/vnd.ms-pki.certstore" />
|
||||
<mimeMap fileExtension=".stl" mimeType="application/vnd.ms-pki.stl" />
|
||||
<mimeMap fileExtension=".sv4cpio" mimeType="application/x-sv4cpio" />
|
||||
<mimeMap fileExtension=".sv4crc" mimeType="application/x-sv4crc" />
|
||||
<mimeMap fileExtension=".swf" mimeType="application/x-shockwave-flash" />
|
||||
<mimeMap fileExtension=".t" mimeType="application/x-troff" />
|
||||
<mimeMap fileExtension=".tar" mimeType="application/x-tar" />
|
||||
<mimeMap fileExtension=".tcl" mimeType="application/x-tcl" />
|
||||
<mimeMap fileExtension=".tex" mimeType="application/x-tex" />
|
||||
<mimeMap fileExtension=".texi" mimeType="application/x-texinfo" />
|
||||
<mimeMap fileExtension=".texinfo" mimeType="application/x-texinfo" />
|
||||
<mimeMap fileExtension=".tgz" mimeType="application/x-compressed" />
|
||||
<mimeMap fileExtension=".thmx" mimeType="application/vnd.ms-officetheme" />
|
||||
<mimeMap fileExtension=".thn" mimeType="application/octet-stream" />
|
||||
<mimeMap fileExtension=".tif" mimeType="image/tiff" />
|
||||
<mimeMap fileExtension=".tiff" mimeType="image/tiff" />
|
||||
<mimeMap fileExtension=".toc" mimeType="application/octet-stream" />
|
||||
<mimeMap fileExtension=".tr" mimeType="application/x-troff" />
|
||||
<mimeMap fileExtension=".trm" mimeType="application/x-msterminal" />
|
||||
<mimeMap fileExtension=".tsv" mimeType="text/tab-separated-values" />
|
||||
<mimeMap fileExtension=".ttf" mimeType="application/octet-stream" />
|
||||
<mimeMap fileExtension=".txt" mimeType="text/plain" />
|
||||
<mimeMap fileExtension=".u32" mimeType="application/octet-stream" />
|
||||
<mimeMap fileExtension=".uls" mimeType="text/iuls" />
|
||||
<mimeMap fileExtension=".ustar" mimeType="application/x-ustar" />
|
||||
<mimeMap fileExtension=".vbs" mimeType="text/vbscript" />
|
||||
<mimeMap fileExtension=".vcf" mimeType="text/x-vcard" />
|
||||
<mimeMap fileExtension=".vcs" mimeType="text/plain" />
|
||||
<mimeMap fileExtension=".vdx" mimeType="application/vnd.ms-visio.viewer" />
|
||||
<mimeMap fileExtension=".vml" mimeType="text/xml" />
|
||||
<mimeMap fileExtension=".vsd" mimeType="application/vnd.visio" />
|
||||
<mimeMap fileExtension=".vss" mimeType="application/vnd.visio" />
|
||||
<mimeMap fileExtension=".vst" mimeType="application/vnd.visio" />
|
||||
<mimeMap fileExtension=".vsto" mimeType="application/x-ms-vsto" />
|
||||
<mimeMap fileExtension=".vsw" mimeType="application/vnd.visio" />
|
||||
<mimeMap fileExtension=".vsx" mimeType="application/vnd.visio" />
|
||||
<mimeMap fileExtension=".vtx" mimeType="application/vnd.visio" />
|
||||
<mimeMap fileExtension=".wav" mimeType="audio/wav" />
|
||||
<mimeMap fileExtension=".wax" mimeType="audio/x-ms-wax" />
|
||||
<mimeMap fileExtension=".wbmp" mimeType="image/vnd.wap.wbmp" />
|
||||
<mimeMap fileExtension=".wcm" mimeType="application/vnd.ms-works" />
|
||||
<mimeMap fileExtension=".wdb" mimeType="application/vnd.ms-works" />
|
||||
<mimeMap fileExtension=".wks" mimeType="application/vnd.ms-works" />
|
||||
<mimeMap fileExtension=".wm" mimeType="video/x-ms-wm" />
|
||||
<mimeMap fileExtension=".wma" mimeType="audio/x-ms-wma" />
|
||||
<mimeMap fileExtension=".wmd" mimeType="application/x-ms-wmd" />
|
||||
<mimeMap fileExtension=".wmf" mimeType="application/x-msmetafile" />
|
||||
<mimeMap fileExtension=".wml" mimeType="text/vnd.wap.wml" />
|
||||
<mimeMap fileExtension=".wmlc" mimeType="application/vnd.wap.wmlc" />
|
||||
<mimeMap fileExtension=".wmls" mimeType="text/vnd.wap.wmlscript" />
|
||||
<mimeMap fileExtension=".wmlsc" mimeType="application/vnd.wap.wmlscriptc" />
|
||||
<mimeMap fileExtension=".wmp" mimeType="video/x-ms-wmp" />
|
||||
<mimeMap fileExtension=".wmv" mimeType="video/x-ms-wmv" />
|
||||
<mimeMap fileExtension=".wmx" mimeType="video/x-ms-wmx" />
|
||||
<mimeMap fileExtension=".wmz" mimeType="application/x-ms-wmz" />
|
||||
<mimeMap fileExtension=".wps" mimeType="application/vnd.ms-works" />
|
||||
<mimeMap fileExtension=".wri" mimeType="application/x-mswrite" />
|
||||
<mimeMap fileExtension=".wrl" mimeType="x-world/x-vrml" />
|
||||
<mimeMap fileExtension=".wrz" mimeType="x-world/x-vrml" />
|
||||
<mimeMap fileExtension=".wsdl" mimeType="text/xml" />
|
||||
<mimeMap fileExtension=".wvx" mimeType="video/x-ms-wvx" />
|
||||
<mimeMap fileExtension=".x" mimeType="application/directx" />
|
||||
<mimeMap fileExtension=".xaf" mimeType="x-world/x-vrml" />
|
||||
<mimeMap fileExtension=".xaml" mimeType="application/xaml+xml" />
|
||||
<mimeMap fileExtension=".xap" mimeType="application/x-silverlight-app" />
|
||||
<mimeMap fileExtension=".xbap" mimeType="application/x-ms-xbap" />
|
||||
<mimeMap fileExtension=".xbm" mimeType="image/x-xbitmap" />
|
||||
<mimeMap fileExtension=".xdr" mimeType="text/plain" />
|
||||
<mimeMap fileExtension=".xla" mimeType="application/vnd.ms-excel" />
|
||||
<mimeMap fileExtension=".xlam" mimeType="application/vnd.ms-excel.addin.macroEnabled.12" />
|
||||
<mimeMap fileExtension=".xlc" mimeType="application/vnd.ms-excel" />
|
||||
<mimeMap fileExtension=".xlm" mimeType="application/vnd.ms-excel" />
|
||||
<mimeMap fileExtension=".xls" mimeType="application/vnd.ms-excel" />
|
||||
<mimeMap fileExtension=".xlsb" mimeType="application/vnd.ms-excel.sheet.binary.macroEnabled.12" />
|
||||
<mimeMap fileExtension=".xlsm" mimeType="application/vnd.ms-excel.sheet.macroEnabled.12" />
|
||||
<mimeMap fileExtension=".xlsx" mimeType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" />
|
||||
<mimeMap fileExtension=".xlt" mimeType="application/vnd.ms-excel" />
|
||||
<mimeMap fileExtension=".xltm" mimeType="application/vnd.ms-excel.template.macroEnabled.12" />
|
||||
<mimeMap fileExtension=".xltx" mimeType="application/vnd.openxmlformats-officedocument.spreadsheetml.template" />
|
||||
<mimeMap fileExtension=".xlw" mimeType="application/vnd.ms-excel" />
|
||||
<mimeMap fileExtension=".xml" mimeType="text/xml" />
|
||||
<mimeMap fileExtension=".xof" mimeType="x-world/x-vrml" />
|
||||
<mimeMap fileExtension=".xpm" mimeType="image/x-xpixmap" />
|
||||
<mimeMap fileExtension=".xps" mimeType="application/vnd.ms-xpsdocument" />
|
||||
<mimeMap fileExtension=".xsd" mimeType="text/xml" />
|
||||
<mimeMap fileExtension=".xsf" mimeType="text/xml" />
|
||||
<mimeMap fileExtension=".xsl" mimeType="text/xml" />
|
||||
<mimeMap fileExtension=".xslt" mimeType="text/xml" />
|
||||
<mimeMap fileExtension=".xsn" mimeType="application/octet-stream" />
|
||||
<mimeMap fileExtension=".xtp" mimeType="application/octet-stream" />
|
||||
<mimeMap fileExtension=".xwd" mimeType="image/x-xwindowdump" />
|
||||
<mimeMap fileExtension=".z" mimeType="application/x-compress" />
|
||||
<mimeMap fileExtension=".zip" mimeType="application/x-zip-compressed" />
|
||||
</staticContent>
|
||||
|
||||
<tracing>
|
||||
|
||||
<traceProviderDefinitions>
|
||||
<add name="WWW Server" guid="{3a2a4e84-4c21-4981-ae10-3fda0d9b0f83}">
|
||||
<areas>
|
||||
<clear />
|
||||
<add name="Authentication" value="2" />
|
||||
<add name="Security" value="4" />
|
||||
<add name="Filter" value="8" />
|
||||
<add name="StaticFile" value="16" />
|
||||
<add name="CGI" value="32" />
|
||||
<add name="Compression" value="64" />
|
||||
<add name="Cache" value="128" />
|
||||
<add name="RequestNotifications" value="256" />
|
||||
<add name="Module" value="512" />
|
||||
<add name="Rewrite" value="1024" />
|
||||
<add name="FastCGI" value="4096" />
|
||||
</areas>
|
||||
</add>
|
||||
<add name="ASP" guid="{06b94d9a-b15e-456e-a4ef-37c984a2cb4b}">
|
||||
<areas>
|
||||
<clear />
|
||||
</areas>
|
||||
</add>
|
||||
<add name="ISAPI Extension" guid="{a1c2040e-8840-4c31-ba11-9871031a19ea}">
|
||||
<areas>
|
||||
<clear />
|
||||
</areas>
|
||||
</add>
|
||||
<add name="ASPNET" guid="{AFF081FE-0247-4275-9C4E-021F3DC1DA35}">
|
||||
<areas>
|
||||
<add name="Infrastructure" value="1" />
|
||||
<add name="Module" value="2" />
|
||||
<add name="Page" value="4" />
|
||||
<add name="AppServices" value="8" />
|
||||
</areas>
|
||||
</add>
|
||||
</traceProviderDefinitions>
|
||||
|
||||
<traceFailedRequests>
|
||||
<add path="*">
|
||||
<traceAreas>
|
||||
<add provider="ASP" verbosity="Verbose" />
|
||||
<add provider="ASPNET" areas="Infrastructure,Module,Page,AppServices" verbosity="Verbose" />
|
||||
<add provider="ISAPI Extension" verbosity="Verbose" />
|
||||
<add provider="WWW Server" areas="Authentication,Security,Filter,StaticFile,CGI,Compression,Cache,RequestNotifications,Module,Rewrite" verbosity="Verbose" />
|
||||
</traceAreas>
|
||||
<failureDefinitions statusCodes="200-999" />
|
||||
</add>
|
||||
</traceFailedRequests>
|
||||
|
||||
</tracing>
|
||||
|
||||
<urlCompression />
|
||||
|
||||
<validation />
|
||||
<webdav>
|
||||
<globalSettings>
|
||||
<propertyStores>
|
||||
<add name="webdav_simple_prop" image="%IIS_BIN%\webdav_simple_prop.dll" image32="%windir%\syswow64\inetsrv\webdav_simple_prop.dll" />
|
||||
</propertyStores>
|
||||
<lockStores>
|
||||
<add name="webdav_simple_lock" image="%IIS_BIN%\webdav_simple_lock.dll" image32="%windir%\syswow64\inetsrv\webdav_simple_lock.dll" />
|
||||
</lockStores>
|
||||
|
||||
</globalSettings>
|
||||
<authoring>
|
||||
<locks enabled="true" lockStore="webdav_simple_lock" />
|
||||
</authoring>
|
||||
<authoringRules />
|
||||
</webdav>
|
||||
|
||||
</system.webServer>
|
||||
<location path="" overrideMode="Allow">
|
||||
<system.webServer>
|
||||
<modules>
|
||||
<!--
|
||||
<add name="HttpCacheModule" lockItem="true" />
|
||||
-->
|
||||
<add name="DynamicCompressionModule" lockItem="true" />
|
||||
<add name="StaticCompressionModule" lockItem="true" />
|
||||
<add name="DefaultDocumentModule" lockItem="true" />
|
||||
<add name="DirectoryListingModule" lockItem="true" />
|
||||
<add name="IsapiFilterModule" lockItem="true" />
|
||||
<add name="ProtocolSupportModule" lockItem="true" />
|
||||
<add name="HttpRedirectionModule" lockItem="true" />
|
||||
<add name="ServerSideIncludeModule" lockItem="true" />
|
||||
<add name="StaticFileModule" lockItem="true" />
|
||||
<add name="AnonymousAuthenticationModule" lockItem="true" />
|
||||
<add name="CertificateMappingAuthenticationModule" lockItem="true" />
|
||||
<add name="UrlAuthorizationModule" lockItem="true" />
|
||||
<add name="BasicAuthenticationModule" lockItem="true" />
|
||||
<add name="WindowsAuthenticationModule" lockItem="true" />
|
||||
<!--
|
||||
<add name="DigestAuthenticationModule" lockItem="true" />
|
||||
-->
|
||||
<add name="IISCertificateMappingAuthenticationModule" lockItem="true" />
|
||||
<add name="IpRestrictionModule" lockItem="true" />
|
||||
<add name="RequestFilteringModule" lockItem="true" />
|
||||
<add name="CustomLoggingModule" lockItem="true" />
|
||||
<add name="CustomErrorModule" lockItem="true" />
|
||||
<add name="IsapiModule" lockItem="true" />
|
||||
<add name="HttpLoggingModule" lockItem="true" />
|
||||
<add name="FailedRequestsTracingModule" lockItem="true" />
|
||||
<add name="CgiModule" lockItem="true" />
|
||||
<add name="FastCgiModule" lockItem="true" />
|
||||
<!-- <add name="WebDAVModule" /> -->
|
||||
<add name="RewriteModule" />
|
||||
<add name="ConfigurationValidationModule" lockItem="true" />
|
||||
<add name="WebMatrixSupportModule" lockItem="true" />
|
||||
<add name="OutputCache" type="System.Web.Caching.OutputCacheModule" preCondition="managedHandler" />
|
||||
<add name="Session" type="System.Web.SessionState.SessionStateModule" preCondition="managedHandler" />
|
||||
<add name="WindowsAuthentication" type="System.Web.Security.WindowsAuthenticationModule" preCondition="managedHandler" />
|
||||
<add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" preCondition="managedHandler" />
|
||||
<add name="DefaultAuthentication" type="System.Web.Security.DefaultAuthenticationModule" preCondition="managedHandler" />
|
||||
<add name="RoleManager" type="System.Web.Security.RoleManagerModule" preCondition="managedHandler" />
|
||||
<add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule" preCondition="managedHandler" />
|
||||
<add name="FileAuthorization" type="System.Web.Security.FileAuthorizationModule" preCondition="managedHandler" />
|
||||
<add name="AnonymousIdentification" type="System.Web.Security.AnonymousIdentificationModule" preCondition="managedHandler" />
|
||||
<add name="Profile" type="System.Web.Profile.ProfileModule" preCondition="managedHandler" />
|
||||
<add name="UrlMappingsModule" type="System.Web.UrlMappingsModule" preCondition="managedHandler" />
|
||||
<add name="ServiceModel-4.0" type="System.ServiceModel.Activation.ServiceHttpModule,System.ServiceModel.Activation,Version=4.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35" preCondition="managedHandler,runtimeVersionv4.0" />
|
||||
<add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="managedHandler,runtimeVersionv4.0" />
|
||||
<add name="ScriptModule-4.0" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="managedHandler,runtimeVersionv4.0" />
|
||||
<add name="ServiceModel" type="System.ServiceModel.Activation.HttpModule, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="managedHandler,runtimeVersionv2.0" />
|
||||
</modules>
|
||||
<handlers accessPolicy="Read, Script">
|
||||
<!-- <add name="WebDAV" path="*" verb="PROPFIND,PROPPATCH,MKCOL,PUT,COPY,DELETE,MOVE,LOCK,UNLOCK" modules="WebDAVModule" resourceType="Unspecified" requireAccess="None" /> -->
|
||||
<add name="svc-Integrated" path="*.svc" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" />
|
||||
<add name="svc-ISAPI-2.0" path="*.svc" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" />
|
||||
<add name="xoml-Integrated" path="*.xoml" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" />
|
||||
<add name="xoml-ISAPI-2.0" path="*.xoml" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" />
|
||||
<add name="rules-Integrated" path="*.rules" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" />
|
||||
<add name="rules-ISAPI-2.0" path="*.rules" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" />
|
||||
<add name="AXD-ISAPI-4.0_32bit" path="*.axd" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
|
||||
<add name="PageHandlerFactory-ISAPI-4.0_32bit" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
|
||||
<add name="SimpleHandlerFactory-ISAPI-4.0_32bit" path="*.ashx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
|
||||
<add name="WebServiceHandlerFactory-ISAPI-4.0_32bit" path="*.asmx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
|
||||
<add name="HttpRemotingHandlerFactory-rem-ISAPI-4.0_32bit" path="*.rem" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
|
||||
<add name="HttpRemotingHandlerFactory-soap-ISAPI-4.0_32bit" path="*.soap" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
|
||||
<add name="svc-ISAPI-4.0_32bit" path="*.svc" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
|
||||
<add name="rules-ISAPI-4.0_32bit" path="*.rules" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
|
||||
<add name="xoml-ISAPI-4.0_32bit" path="*.xoml" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
|
||||
<add name="xamlx-ISAPI-4.0_32bit" path="*.xamlx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
|
||||
<add name="aspq-ISAPI-4.0_32bit" path="*.aspq" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
|
||||
<add name="cshtm-ISAPI-4.0_32bit" path="*.cshtm" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
|
||||
<add name="cshtml-ISAPI-4.0_32bit" path="*.cshtml" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
|
||||
<add name="vbhtm-ISAPI-4.0_32bit" path="*.vbhtm" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
|
||||
<add name="vbhtml-ISAPI-4.0_32bit" path="*.vbhtml" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
|
||||
<add name="TraceHandler-Integrated-4.0" path="trace.axd" verb="GET,HEAD,POST,DEBUG" type="System.Web.Handlers.TraceHandler" preCondition="integratedMode,runtimeVersionv4.0" />
|
||||
<add name="WebAdminHandler-Integrated-4.0" path="WebAdmin.axd" verb="GET,DEBUG" type="System.Web.Handlers.WebAdminHandler" preCondition="integratedMode,runtimeVersionv4.0" />
|
||||
<add name="AssemblyResourceLoader-Integrated-4.0" path="WebResource.axd" verb="GET,DEBUG" type="System.Web.Handlers.AssemblyResourceLoader" preCondition="integratedMode,runtimeVersionv4.0" />
|
||||
<add name="PageHandlerFactory-Integrated-4.0" path="*.aspx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.PageHandlerFactory" preCondition="integratedMode,runtimeVersionv4.0" />
|
||||
<add name="SimpleHandlerFactory-Integrated-4.0" path="*.ashx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.SimpleHandlerFactory" preCondition="integratedMode,runtimeVersionv4.0" />
|
||||
<add name="WebServiceHandlerFactory-Integrated-4.0" path="*.asmx" verb="GET,HEAD,POST,DEBUG" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" />
|
||||
<add name="HttpRemotingHandlerFactory-rem-Integrated-4.0" path="*.rem" verb="GET,HEAD,POST,DEBUG" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv4.0" />
|
||||
<add name="HttpRemotingHandlerFactory-soap-Integrated-4.0" path="*.soap" verb="GET,HEAD,POST,DEBUG" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv4.0" />
|
||||
<add name="svc-Integrated-4.0" path="*.svc" verb="*" type="System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" />
|
||||
<add name="rules-Integrated-4.0" path="*.rules" verb="*" type="System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" />
|
||||
<add name="xoml-Integrated-4.0" path="*.xoml" verb="*" type="System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" />
|
||||
<add name="xamlx-Integrated-4.0" path="*.xamlx" verb="GET,HEAD,POST,DEBUG" type="System.Xaml.Hosting.XamlHttpHandlerFactory, System.Xaml.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" />
|
||||
<add name="aspq-Integrated-4.0" path="*.aspq" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" />
|
||||
<add name="cshtm-Integrated-4.0" path="*.cshtm" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" />
|
||||
<add name="cshtml-Integrated-4.0" path="*.cshtml" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" />
|
||||
<add name="vbhtm-Integrated-4.0" path="*.vbhtm" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" />
|
||||
<add name="vbhtml-Integrated-4.0" path="*.vbhtml" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" />
|
||||
<add name="ScriptHandlerFactoryAppServices-Integrated-4.0" path="*_AppService.axd" verb="*" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" preCondition="integratedMode,runtimeVersionv4.0" />
|
||||
<add name="ScriptResourceIntegrated-4.0" path="ScriptResource.axd" verb="GET,HEAD" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" preCondition="integratedMode,runtimeVersionv4.0" />
|
||||
<!-- <add name="ASPClassic" path="*.asp" verb="GET,HEAD,POST" modules="IsapiModule" scriptProcessor="%IIS_BIN%\asp.dll" resourceType="File" />-->
|
||||
<!-- <add name="SecurityCertificate" path="*.cer" verb="GET,HEAD,POST" modules="IsapiModule" scriptProcessor="%IIS_BIN%\asp.dll" resourceType="File" />-->
|
||||
<add name="ISAPI-dll" path="*.dll" verb="*" modules="IsapiModule" resourceType="File" requireAccess="Execute" allowPathInfo="true" />
|
||||
<add name="TraceHandler-Integrated" path="trace.axd" verb="GET,HEAD,POST,DEBUG" type="System.Web.Handlers.TraceHandler" preCondition="integratedMode" />
|
||||
<add name="WebAdminHandler-Integrated" path="WebAdmin.axd" verb="GET,DEBUG" type="System.Web.Handlers.WebAdminHandler" preCondition="integratedMode" />
|
||||
<add name="AssemblyResourceLoader-Integrated" path="WebResource.axd" verb="GET,DEBUG" type="System.Web.Handlers.AssemblyResourceLoader" preCondition="integratedMode" />
|
||||
<add name="PageHandlerFactory-Integrated" path="*.aspx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.PageHandlerFactory" preCondition="integratedMode" />
|
||||
<add name="SimpleHandlerFactory-Integrated" path="*.ashx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.SimpleHandlerFactory" preCondition="integratedMode" />
|
||||
<add name="WebServiceHandlerFactory-Integrated" path="*.asmx" verb="GET,HEAD,POST,DEBUG" type="System.Web.Services.Protocols.WebServiceHandlerFactory,System.Web.Services,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" preCondition="integratedMode,runtimeVersionv2.0" />
|
||||
<add name="HttpRemotingHandlerFactory-rem-Integrated" path="*.rem" verb="GET,HEAD,POST,DEBUG" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory,System.Runtime.Remoting,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" />
|
||||
<add name="HttpRemotingHandlerFactory-soap-Integrated" path="*.soap" verb="GET,HEAD,POST,DEBUG" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory,System.Runtime.Remoting,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" />
|
||||
<add name="AXD-ISAPI-2.0" path="*.axd" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" />
|
||||
<add name="PageHandlerFactory-ISAPI-2.0" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" />
|
||||
<add name="SimpleHandlerFactory-ISAPI-2.0" path="*.ashx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" />
|
||||
<add name="WebServiceHandlerFactory-ISAPI-2.0" path="*.asmx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" />
|
||||
<add name="HttpRemotingHandlerFactory-rem-ISAPI-2.0" path="*.rem" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" />
|
||||
<add name="HttpRemotingHandlerFactory-soap-ISAPI-2.0" path="*.soap" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" />
|
||||
<add name="CGI-exe" path="*.exe" verb="*" modules="CgiModule" resourceType="File" requireAccess="Execute" allowPathInfo="true" />
|
||||
<add name="SSINC-stm" path="*.stm" verb="GET,POST" modules="ServerSideIncludeModule" resourceType="File" />
|
||||
<add name="SSINC-shtm" path="*.shtm" verb="GET,POST" modules="ServerSideIncludeModule" resourceType="File" />
|
||||
<add name="SSINC-shtml" path="*.shtml" verb="GET,POST" modules="ServerSideIncludeModule" resourceType="File" />
|
||||
<add name="TRACEVerbHandler" path="*" verb="TRACE" modules="ProtocolSupportModule" requireAccess="None" />
|
||||
<add name="OPTIONSVerbHandler" path="*" verb="OPTIONS" modules="ProtocolSupportModule" requireAccess="None" />
|
||||
<add name="ExtensionlessUrl-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
|
||||
<add name="ExtensionlessUrl-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
|
||||
<add name="StaticFile" path="*" verb="*" modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" resourceType="Either" requireAccess="Read" />
|
||||
</handlers>
|
||||
</system.webServer>
|
||||
</location>
|
||||
</configuration>
|
BIN
IISExpress/IisExpressAdminCmd.exe
Normal file
BIN
IISExpress/IisExpressAdminCmd.exe
Normal file
Binary file not shown.
|
@ -1,9 +1,7 @@
|
|||
<?xml version="1.0"?>
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<configuration>
|
||||
<runtime>
|
||||
<generatePublisherEvidence enabled="false"/>
|
||||
</runtime>
|
||||
<startup useLegacyV2RuntimeActivationPolicy="true">
|
||||
<supportedRuntime version="v4.0" />
|
||||
<supportedRuntime version="v2.0.50727" />
|
||||
</startup>
|
||||
</configuration>
|
181
IISExpress/WCFWebMatrixInstall.js
Normal file
181
IISExpress/WCFWebMatrixInstall.js
Normal file
|
@ -0,0 +1,181 @@
|
|||
// Configures Windows Communication Foundation 3.5 for WebMatrix
|
||||
//
|
||||
// Usage:
|
||||
// WCFWebMatrixInstall.js [un]install
|
||||
|
||||
var moduleName = "ServiceModel";
|
||||
var handlerNames = ["svc-Integrated","rules-Integrated","xoml-Integrated","svc-ISAPI-2.0","rules-ISAPI-2.0","xoml-ISAPI-2.0"];
|
||||
|
||||
try {
|
||||
var mode = ParseArguments();
|
||||
if (mode == "install")
|
||||
{
|
||||
UninstallWCF();
|
||||
InstallWCF();
|
||||
WScript.Echo("WCF 3.5 has been configured for WebMatrix.");
|
||||
}
|
||||
else if (mode == "uninstall")
|
||||
{
|
||||
UninstallWCF();
|
||||
WScript.Echo("WCF 3.5 has been uninstalled from WebMatrix.");
|
||||
}
|
||||
else
|
||||
{
|
||||
PrintUsage();
|
||||
}
|
||||
}
|
||||
catch(e) {
|
||||
WScript.Echo("An error occurred:\r\n " + e.description);
|
||||
}
|
||||
|
||||
function InstallWCF() {
|
||||
var adminManager = GetAdminManager();
|
||||
|
||||
AddModule(adminManager);
|
||||
AddHandlers(adminManager);
|
||||
|
||||
adminManager.CommitChanges();
|
||||
}
|
||||
|
||||
function UninstallWCF() {
|
||||
var adminManager = GetAdminManager();
|
||||
var moduleSection = adminManager.GetAdminSection("system.webServer/modules", "MACHINE/WEBROOT/APPHOST");
|
||||
|
||||
var modulePosition = FindElement(moduleSection.Collection, "add", ["name", moduleName]);
|
||||
if (modulePosition != -1)
|
||||
{
|
||||
moduleSection.Collection.DeleteElement(modulePosition);
|
||||
}
|
||||
|
||||
var handlerSection = adminManager.GetAdminSection("system.webServer/handlers", "MACHINE/WEBROOT/APPHOST");
|
||||
for (i = 0 ; i < handlerNames.length; i++)
|
||||
{
|
||||
var svcPosition = FindElement(handlerSection.Collection, "add", ["name", handlerNames[i]]);
|
||||
if (svcPosition != -1)
|
||||
{
|
||||
handlerSection.Collection.DeleteElement(svcPosition);
|
||||
}
|
||||
}
|
||||
|
||||
adminManager.CommitChanges();
|
||||
}
|
||||
|
||||
function AddModule(adminManager)
|
||||
{
|
||||
var moduleSection = adminManager.GetAdminSection("system.webServer/modules", "MACHINE/WEBROOT/APPHOST");
|
||||
|
||||
var element = moduleSection.Collection.CreateNewElement("add");
|
||||
element.Properties.Item("name").Value = moduleName;
|
||||
element.Properties.Item("type").Value = "System.ServiceModel.Activation.HttpModule, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089";
|
||||
element.Properties.Item("preCondition").Value = "managedHandler,runtimeVersionv2.0";
|
||||
moduleSection.Collection.AddElement(element, -1);
|
||||
}
|
||||
|
||||
function AddHandlers(adminManager)
|
||||
{
|
||||
var handlerSection = adminManager.GetAdminSection("system.webServer/handlers", "MACHINE/WEBROOT/APPHOST");
|
||||
|
||||
AddIntegratedHandler(handlerSection, handlerNames[0], "*.svc");
|
||||
AddIntegratedHandler(handlerSection, handlerNames[1], "*.rules");
|
||||
AddIntegratedHandler(handlerSection, handlerNames[2], "*.xoml");
|
||||
|
||||
AddISAPIHandler(handlerSection, handlerNames[3], "*.svc");
|
||||
AddISAPIHandler(handlerSection, handlerNames[4], "*.rules");
|
||||
AddISAPIHandler(handlerSection, handlerNames[5], "*.xoml");
|
||||
}
|
||||
|
||||
function AddIntegratedHandler(section, name, path)
|
||||
{
|
||||
var element = section.Collection.CreateNewElement("add");
|
||||
element.Properties.Item("name").Value = name;
|
||||
element.Properties.Item("path").Value = path;
|
||||
element.Properties.Item("verb").Value = "*";
|
||||
element.Properties.Item("type").Value = "System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089";
|
||||
element.Properties.Item("preCondition").Value = "integratedMode,runtimeVersionv2.0";
|
||||
section.Collection.AddElement(element, 0);
|
||||
}
|
||||
|
||||
function AddISAPIHandler(section, name, path)
|
||||
{
|
||||
var element = section.Collection.CreateNewElement("add");
|
||||
element.Properties.Item("name").Value = name;
|
||||
element.Properties.Item("path").Value = path;
|
||||
element.Properties.Item("verb").Value = "*";
|
||||
element.Properties.Item("modules").Value = "IsapiModule";
|
||||
element.Properties.Item("scriptProcessor").Value = "%SystemRoot%\\Microsoft.NET\\Framework\\v2.0.50727\\aspnet_isapi.dll";
|
||||
element.Properties.Item("preCondition").Value = "classicMode,runtimeVersionv2.0,bitness32";
|
||||
section.Collection.AddElement(element, 0);
|
||||
}
|
||||
|
||||
function GetAdminManager()
|
||||
{
|
||||
try
|
||||
{
|
||||
var vermg = new ActiveXObject("Microsoft.IIS.VersionManager");
|
||||
var exp = vermg.GetVersionObject("8.0", 1);
|
||||
return adminManager = exp.CreateObjectFromProgId("Microsoft.ApplicationHost.WritableAdminManager");
|
||||
}
|
||||
catch(e)
|
||||
{
|
||||
throw new Error("Unable to create WritableAdminManager.\r\n Please ensure that WebMatrix is installed properly.\r\n\r\n " + e.description);
|
||||
}
|
||||
}
|
||||
|
||||
function FindElement(collection, elementTagName, valuesToMatch)
|
||||
{
|
||||
for (var i = 0; i < collection.Count; i++)
|
||||
{
|
||||
var element = collection.Item(i);
|
||||
|
||||
if (element.Name == elementTagName)
|
||||
{
|
||||
var matches = true;
|
||||
for (var iVal = 0; iVal < valuesToMatch.length; iVal += 2)
|
||||
{
|
||||
var property = element.GetPropertyByName(valuesToMatch[iVal]);
|
||||
var value = property.Value;
|
||||
if (value != null)
|
||||
{
|
||||
value = value.toString();
|
||||
}
|
||||
if (value != valuesToMatch[iVal + 1])
|
||||
{
|
||||
matches = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (matches)
|
||||
{
|
||||
return i;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
function ParseArguments()
|
||||
{
|
||||
var mode = "";
|
||||
|
||||
if (WScript.Arguments.Count() > 0)
|
||||
{
|
||||
if (WScript.Arguments.Item(0).toLowerCase() == "install")
|
||||
{
|
||||
mode="install";
|
||||
}
|
||||
else if (WScript.Arguments.Item(0).toLowerCase() == "uninstall")
|
||||
{
|
||||
mode="uninstall";
|
||||
}
|
||||
}
|
||||
|
||||
return mode;
|
||||
}
|
||||
|
||||
function PrintUsage()
|
||||
{
|
||||
WScript.Echo("Usage:\r\n WCFWebMatrixInstall.js <cmd>\r\n\r\nDescription:\r\nAdministration utility that enables configuation of WCF 3.5 for WebMatrix\r\n\r\nSupported Commands:\r\n install, uninstall\r\n\r\nSamples:\r\n WCFWebMatrixInstall.js install\r\n WCFWebMatrixInstall.js uninstall");
|
||||
}
|
||||
|
||||
|
BIN
IISExpress/appcmd.exe
Normal file
BIN
IISExpress/appcmd.exe
Normal file
Binary file not shown.
74
IISExpress/appcmd.xml
Normal file
74
IISExpress/appcmd.xml
Normal file
|
@ -0,0 +1,74 @@
|
|||
<appcmd>
|
||||
<object name="site" alias="sites" classId="DefaultSiteObject" >
|
||||
<verb name="list" classId="DefaultSiteObject" />
|
||||
<verb name="set" classId="DefaultSiteObject" />
|
||||
<verb name="add" classId="DefaultSiteObject" />
|
||||
<verb name="delete" classId="DefaultSiteObject" />
|
||||
<!--
|
||||
<verb name="start" classId="DefaultSiteObject" />
|
||||
<verb name="stop" classId="DefaultSiteObject" />
|
||||
-->
|
||||
</object>
|
||||
<object name="app" alias="apps" classId="DefaultAppObject" >
|
||||
<verb name="list" description="List applications" classId="DefaultAppObject" />
|
||||
<verb name="set" classId="DefaultAppObject" />
|
||||
<verb name="add" classId="DefaultAppObject" />
|
||||
<verb name="delete" classId="DefaultAppObject" />
|
||||
</object>
|
||||
<object name="vdir" alias="vdirs" classId="DefaultDirObject" >
|
||||
<verb name="list" description="List virtual directories" classId="DefaultDirObject" />
|
||||
<verb name="set" classId="DefaultDirObject" />
|
||||
<verb name="add" classId="DefaultDirObject" />
|
||||
<verb name="delete" classId="DefaultDirObject" />
|
||||
</object>
|
||||
<object name="apppool" alias="apppools" classId="DefaultAppPoolObject" >
|
||||
<verb name="list" classId="DefaultAppPoolObject" />
|
||||
<verb name="set" classId="DefaultAppPoolObject" />
|
||||
<verb name="add" classId="DefaultAppPoolObject" />
|
||||
<verb name="delete" classId="DefaultAppPoolObject" />
|
||||
<!--
|
||||
<verb name="start" classId="DefaultAppPoolObject" />
|
||||
<verb name="stop" classId="DefaultAppPoolObject" />
|
||||
<verb name="recycle" classId="DefaultAppPoolObject" />
|
||||
-->
|
||||
</object>
|
||||
<object name="config" alias="configs" classId="DefaultConfigObject" >
|
||||
<verb name="list" classId="DefaultConfigObject" />
|
||||
<verb name="set" classId="DefaultConfigObject" />
|
||||
<verb name="search" classId="DefaultConfigObject" />
|
||||
<verb name="lock" classId="DefaultConfigObject" />
|
||||
<verb name="unlock" classId="DefaultConfigObject" />
|
||||
<verb name="clear" classId="DefaultConfigObject" />
|
||||
<verb name="reset" classId="DefaultConfigObject" />
|
||||
<!--
|
||||
<verb name="migrate" classId="DefaultConfigObject" />
|
||||
-->
|
||||
</object>
|
||||
<!--
|
||||
<object name="wp" alias="wps" classId="DefaultWorkerProcessObject" >
|
||||
<verb name="list" classId="DefaultWorkerProcessObject" />
|
||||
</object>
|
||||
<object name="request" alias="requests" classId="DefaultRequestObject" >
|
||||
<verb name="list" classId="DefaultRequestObject" />
|
||||
</object>
|
||||
-->
|
||||
<object name="module" alias="modules" classId="DefaultModuleObject" >
|
||||
<verb name="list" classId="DefaultModuleObject" />
|
||||
<verb name="set" classId="DefaultModuleObject" />
|
||||
<verb name="add" classId="DefaultModuleObject" />
|
||||
<verb name="delete" classId="DefaultModuleObject" />
|
||||
<verb name="install" classId="DefaultModuleObject" />
|
||||
<verb name="uninstall" classId="DefaultModuleObject" />
|
||||
</object>
|
||||
<!--object name="backup" alias="backups" classId="DefaultBackupObject" >
|
||||
<verb name="list" classId="DefaultBackupObject" />
|
||||
<verb name="add" classId="DefaultBackupObject" />
|
||||
<verb name="delete" classId="DefaultBackupObject" />
|
||||
<verb name="restore" classId="DefaultBackupObject" />
|
||||
</object-->
|
||||
<object name="trace" alias="traces" classId="DefaultTraceObject" >
|
||||
<verb name="list" classId="DefaultTraceObject" />
|
||||
<verb name="configure" classId="DefaultTraceObject" />
|
||||
<verb name="inspect" classId="DefaultTraceObject" />
|
||||
</object>
|
||||
</appcmd>
|
BIN
IISExpress/appobj.dll
Normal file
BIN
IISExpress/appobj.dll
Normal file
Binary file not shown.
BIN
IISExpress/authanon.dll
Normal file
BIN
IISExpress/authanon.dll
Normal file
Binary file not shown.
BIN
IISExpress/authbas.dll
Normal file
BIN
IISExpress/authbas.dll
Normal file
Binary file not shown.
BIN
IISExpress/authcert.dll
Normal file
BIN
IISExpress/authcert.dll
Normal file
Binary file not shown.
BIN
IISExpress/authmap.dll
Normal file
BIN
IISExpress/authmap.dll
Normal file
Binary file not shown.
BIN
IISExpress/authsspi.dll
Normal file
BIN
IISExpress/authsspi.dll
Normal file
Binary file not shown.
BIN
IISExpress/browscap.dll
Normal file
BIN
IISExpress/browscap.dll
Normal file
Binary file not shown.
1907
IISExpress/browscap.ini
Normal file
1907
IISExpress/browscap.ini
Normal file
File diff suppressed because it is too large
Load diff
BIN
IISExpress/cachtokn.dll
Normal file
BIN
IISExpress/cachtokn.dll
Normal file
Binary file not shown.
BIN
IISExpress/cachuri.dll
Normal file
BIN
IISExpress/cachuri.dll
Normal file
Binary file not shown.
BIN
IISExpress/cgi.dll
Normal file
BIN
IISExpress/cgi.dll
Normal file
Binary file not shown.
BIN
IISExpress/compdyn.dll
Normal file
BIN
IISExpress/compdyn.dll
Normal file
Binary file not shown.
BIN
IISExpress/compstat.dll
Normal file
BIN
IISExpress/compstat.dll
Normal file
Binary file not shown.
582
IISExpress/config/schema/ASPNET_schema.xml
Normal file
582
IISExpress/config/schema/ASPNET_schema.xml
Normal file
|
@ -0,0 +1,582 @@
|
|||
|
||||
<!--
|
||||
|
||||
ASP.NET configuration schema.
|
||||
|
||||
Please do not edit this file. To add configuration sections to the schema,
|
||||
put them in .xml files similar to this one, in this directory. They will
|
||||
be picked up automatically at application pool startup.
|
||||
|
||||
-->
|
||||
<configSchema>
|
||||
<sectionSchema name="system.web/anonymousIdentification">
|
||||
<attribute name="cookieless" type="enum" defaultValue="UseCookies">
|
||||
<enum name="UseUri" value="0" />
|
||||
<enum name="UseCookies" value="1" />
|
||||
<enum name="AutoDetect" value="2" />
|
||||
<enum name="UseDeviceProfile" value="3" />
|
||||
</attribute>
|
||||
<attribute name="cookieName" type="string" validationType="nonEmptyString" defaultValue=".ASPXANONYMOUS" />
|
||||
<attribute name="cookiePath" type="string" validationType="nonEmptyString" defaultValue="/" />
|
||||
<attribute name="cookieProtection" type="enum" defaultValue="Validation">
|
||||
<enum name="None" value="0" />
|
||||
<enum name="Validation" value="1" />
|
||||
<enum name="Encryption" value="2" />
|
||||
<enum name="All" value="3" />
|
||||
</attribute>
|
||||
<attribute name="cookieRequireSSL" type="bool" defaultValue="False" />
|
||||
<attribute name="cookieSlidingExpiration" type="bool" defaultValue="True" />
|
||||
<attribute name="cookieTimeout" type="timeSpan" validationType="timeSpanRange" validationParameter="0,2147483640,60" allowInfinite="true" timeSpanFormat="minutes" defaultValue="100000" />
|
||||
<attribute name="domain" type="string" />
|
||||
<attribute name="enabled" type="bool" defaultValue="False" />
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.web/authentication">
|
||||
<element name="forms">
|
||||
<attribute name="cookieless" type="enum" defaultValue="UseDeviceProfile">
|
||||
<enum name="UseUri" value="0" />
|
||||
<enum name="UseCookies" value="1" />
|
||||
<enum name="AutoDetect" value="2" />
|
||||
<enum name="UseDeviceProfile" value="3" />
|
||||
</attribute>
|
||||
<element name="credentials">
|
||||
<attribute name="passwordFormat" type="enum" defaultValue="SHA1">
|
||||
<enum name="Clear" value="0" />
|
||||
<enum name="SHA1" value="1" />
|
||||
<enum name="MD5" value="2" />
|
||||
</attribute>
|
||||
<collection addElement="user">
|
||||
<attribute name="name" required="true" isUniqueKey="true" type="string" />
|
||||
<attribute name="password" required="true" type="string" />
|
||||
</collection>
|
||||
</element>
|
||||
<attribute name="defaultUrl" type="string" validationType="nonEmptyString" defaultValue="default.aspx" />
|
||||
<attribute name="domain" type="string" />
|
||||
<attribute name="enableCrossAppRedirects" type="bool" defaultValue="False" />
|
||||
<attribute name="loginUrl" type="string" validationType="nonEmptyString" defaultValue="login.aspx" />
|
||||
<attribute name="name" type="string" validationType="nonEmptyString" defaultValue=".ASPXAUTH" />
|
||||
<attribute name="path" type="string" validationType="nonEmptyString" defaultValue="/" />
|
||||
<attribute name="protection" type="enum" defaultValue="All">
|
||||
<enum name="All" value="0" />
|
||||
<enum name="None" value="1" />
|
||||
<enum name="Encryption" value="2" />
|
||||
<enum name="Validation" value="3" />
|
||||
</attribute>
|
||||
<attribute name="requireSSL" type="bool" defaultValue="False" />
|
||||
<attribute name="slidingExpiration" type="bool" defaultValue="True" />
|
||||
<attribute name="timeout" type="timeSpan" validationType="timeSpanRange" timeSpanFormat="minutes" defaultValue="30" validationParameter="60,2147483640,60" />
|
||||
</element>
|
||||
<attribute name="mode" type="enum" defaultValue="Windows">
|
||||
<enum name="None" value="0" />
|
||||
<enum name="Windows" value="1" />
|
||||
<enum name="Passport" value="2" />
|
||||
<enum name="Forms" value="3" />
|
||||
</attribute>
|
||||
<element name="passport">
|
||||
<attribute name="redirectUrl" type="string" defaultValue="internal" />
|
||||
</element>
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.web/authorization">
|
||||
<collection addElement="allow,deny" mergeAppend="false" allowDuplicates="true">
|
||||
<attribute name="roles" type="string" />
|
||||
<attribute name="users" type="string" />
|
||||
<attribute name="verbs" type="string" />
|
||||
</collection>
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.web/browserCaps">
|
||||
<attribute name="userAgentCacheKeyLength" type="int" defaultValue="64" />
|
||||
<collection addElement="result">
|
||||
<attribute name="type" type="string" defaultValue="System.Web.Mobile.MobileCapabilities, System.Web.Mobile, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3" />
|
||||
</collection>
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.web/clientTarget">
|
||||
<collection addElement="add" removeElement="remove" clearElement="clear">
|
||||
<attribute name="alias" required="true" isUniqueKey="true" type="string" validationType="nonEmptyString" />
|
||||
<attribute name="userAgent" required="true" type="string" validationType="nonEmptyString" />
|
||||
</collection>
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.web/compilation">
|
||||
<element name="assemblies">
|
||||
<collection addElement="add" removeElement="remove" clearElement="clear">
|
||||
<attribute name="assembly" required="true" isUniqueKey="true" type="string" validationType="nonEmptyString" />
|
||||
</collection>
|
||||
</element>
|
||||
<attribute name="assemblyPostProcessorType" type="string" />
|
||||
<attribute name="batch" type="bool" defaultValue="True" />
|
||||
<attribute name="batchTimeout" type="timeSpan" validationType="timeSpanRange" validationParameter="0,2147483647,1" allowInfinite="true" timeSpanFormat="seconds" defaultValue="900" />
|
||||
<element name="buildProviders">
|
||||
<collection addElement="add" removeElement="remove" clearElement="clear">
|
||||
<attribute name="extension" required="true" isUniqueKey="true" type="string" validationType="nonEmptyString" />
|
||||
<attribute name="type" required="true" type="string" validationType="nonEmptyString" />
|
||||
</collection>
|
||||
</element>
|
||||
<element name="codeSubDirectories">
|
||||
<collection addElement="add">
|
||||
<attribute name="directoryName" required="true" isUniqueKey="true" type="string" validationType="requireTrimmedString" />
|
||||
</collection>
|
||||
</element>
|
||||
<attribute name="debug" type="bool" defaultValue="False" />
|
||||
<attribute name="defaultLanguage" type="string" defaultValue="vb" />
|
||||
<attribute name="explicit" type="bool" defaultValue="True" />
|
||||
<element name="expressionBuilders">
|
||||
<collection addElement="add" removeElement="remove" clearElement="clear">
|
||||
<attribute name="expressionPrefix" required="true" isUniqueKey="true" type="string" validationType="nonEmptyString" />
|
||||
<attribute name="type" required="true" type="string" validationType="nonEmptyString" />
|
||||
</collection>
|
||||
</element>
|
||||
<attribute name="maxBatchGeneratedFileSize" type="int" defaultValue="1000" validationType="integerRange" validationParameter="0,2147483647" />
|
||||
<attribute name="maxBatchSize" type="int" defaultValue="1000" validationType="integerRange" validationParameter="0,2147483647" />
|
||||
<attribute name="numRecompilesBeforeAppRestart" type="int" defaultValue="15" validationType="integerRange" validationParameter="0,2147483647" />
|
||||
<attribute name="strict" type="bool" defaultValue="False" />
|
||||
<attribute name="tempDirectory" type="string" />
|
||||
<attribute name="urlLinePragmas" type="bool" defaultValue="False" />
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.web/customErrors">
|
||||
<attribute name="defaultRedirect" type="string" />
|
||||
<collection addElement="error">
|
||||
<attribute name="redirect" required="true" type="string" validationType="nonEmptyString" />
|
||||
<attribute name="statusCode" required="true" isUniqueKey="true" type="int" validationType="integerRange" validationParameter="100,999" />
|
||||
</collection>
|
||||
<attribute name="mode" type="enum" defaultValue="RemoteOnly">
|
||||
<enum name="RemoteOnly" value="0" />
|
||||
<enum name="On" value="1" />
|
||||
<enum name="Off" value="2" />
|
||||
</attribute>
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.web/deviceFilters">
|
||||
<collection addElement="filter">
|
||||
<attribute name="argument" type="string" validationType="nonEmptyString" />
|
||||
<attribute name="compare" type="string" validationType="nonEmptyString" />
|
||||
<attribute name="type" type="string" />
|
||||
<attribute name="method" type="string" validationType="nonEmptyString" />
|
||||
<attribute name="name" required="true" isUniqueKey="true" type="string" validationType="nonEmptyString" />
|
||||
</collection>
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.web/globalization">
|
||||
<attribute name="culture" type="string" />
|
||||
<attribute name="enableBestFitResponseEncoding" type="bool" defaultValue="False" />
|
||||
<attribute name="enableClientBasedCulture" type="bool" defaultValue="False" />
|
||||
<attribute name="fileEncoding" type="string" />
|
||||
<attribute name="requestEncoding" type="string" defaultValue="utf-8" />
|
||||
<attribute name="resourceProviderFactoryType" type="string" />
|
||||
<attribute name="responseEncoding" type="string" defaultValue="utf-8" />
|
||||
<attribute name="responseHeaderEncoding" type="string" defaultValue="utf-8" />
|
||||
<attribute name="uiCulture" type="string" />
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.web/healthMonitoring">
|
||||
<element name="bufferModes">
|
||||
<collection addElement="add" removeElement="remove" clearElement="clear">
|
||||
<attribute name="maxBufferSize" required="true" type="int" validationType="integerRange" validationParameter="1,2147483647" allowInfinite="true" defaultValue="2147483647" />
|
||||
<attribute name="maxBufferThreads" type="int" validationType="integerRange" validationParameter="1,2147483647" allowInfinite="true" defaultValue="1" />
|
||||
<attribute name="maxFlushSize" required="true" type="int" validationType="integerRange" validationParameter="1,2147483647" allowInfinite="true" defaultValue="2147483647" />
|
||||
<attribute name="name" required="true" isUniqueKey="true" type="string" validationType="nonEmptyString" />
|
||||
<attribute name="regularFlushInterval" required="true" type="timeSpan" validationType="timeSpanRange" validationParameter="0,2147483647,1" allowInfinite="true" defaultValue="00:00:01" />
|
||||
<attribute name="urgentFlushInterval" required="true" type="timeSpan" allowInfinite="true" defaultValue="00:00:00" />
|
||||
<attribute name="urgentFlushThreshold" required="true" type="int" validationType="integerRange" validationParameter="1,2147483647" allowInfinite="true" defaultValue="2147483647" />
|
||||
</collection>
|
||||
</element>
|
||||
<attribute name="enabled" type="bool" defaultValue="True" />
|
||||
<element name="eventMappings">
|
||||
<collection addElement="add" removeElement="remove" clearElement="clear">
|
||||
<attribute name="endEventCode" type="int" validationType="integerRange" validationParameter="0,2147483647" defaultValue="2147483647" />
|
||||
<attribute name="name" required="true" isUniqueKey="true" type="string" />
|
||||
<attribute name="startEventCode" type="int" validationType="integerRange" validationParameter="0,2147483647" defaultValue="0" />
|
||||
<attribute name="type" required="true" type="string" />
|
||||
</collection>
|
||||
</element>
|
||||
<attribute name="heartbeatInterval" type="timeSpan" validationType="timeSpanRange" validationParameter="0,2147483,1" timeSpanFormat="seconds" defaultValue="0" />
|
||||
<element name="profiles">
|
||||
<collection addElement="add" removeElement="remove" clearElement="clear">
|
||||
<attribute name="custom" type="string" />
|
||||
<attribute name="maxLimit" type="int" validationType="integerRange" validationParameter="0,2147483647" allowInfinite="true" defaultValue="2147483647" />
|
||||
<attribute name="minInstances" type="int" validationType="integerRange" validationParameter="1,2147483647" defaultValue="1" />
|
||||
<attribute name="minInterval" type="timeSpan" allowInfinite="true" defaultValue="00:00:00" />
|
||||
<attribute name="name" required="true" isUniqueKey="true" type="string" validationType="nonEmptyString" />
|
||||
</collection>
|
||||
</element>
|
||||
<element name="providers">
|
||||
<collection addElement="add" removeElement="remove" clearElement="clear" allowUnrecognizedAttributes="true">
|
||||
<attribute name="name" required="true" isUniqueKey="true" type="string" />
|
||||
<attribute name="type" required="true" type="string" />
|
||||
</collection>
|
||||
</element>
|
||||
<element name="rules">
|
||||
<collection addElement="add" removeElement="remove" clearElement="clear">
|
||||
<attribute name="custom" type="string" />
|
||||
<attribute name="eventName" required="true" type="string" />
|
||||
<attribute name="maxLimit" type="int" validationType="integerRange" validationParameter="0,2147483647" allowInfinite="true" defaultValue="2147483647" />
|
||||
<attribute name="minInstances" type="int" validationType="integerRange" validationParameter="1,2147483647" defaultValue="1" />
|
||||
<attribute name="minInterval" type="timeSpan" allowInfinite="true" defaultValue="00:00:00" />
|
||||
<attribute name="name" required="true" isUniqueKey="true" type="string" validationType="nonEmptyString" />
|
||||
<attribute name="profile" type="string" />
|
||||
<attribute name="provider" type="string" />
|
||||
</collection>
|
||||
</element>
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.web/hostingEnvironment">
|
||||
<attribute name="idleTimeout" type="timeSpan" validationType="timeSpanRange" validationParameter="0,2147483640,60" allowInfinite="true" timeSpanFormat="minutes" defaultValue="Infinite" />
|
||||
<attribute name="shadowCopyBinAssemblies" type="bool" defaultValue="True" />
|
||||
<attribute name="shutdownTimeout" type="timeSpan" validationType="timeSpanRange" validationParameter="0,2147483647,1" timeSpanFormat="seconds" defaultValue="30" />
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.web/httpCookies">
|
||||
<attribute name="domain" type="string" />
|
||||
<attribute name="httpOnlyCookies" type="bool" defaultValue="False" />
|
||||
<attribute name="requireSSL" type="bool" defaultValue="False" />
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.web/httpHandlers">
|
||||
<collection addElement="add" removeElement="remove" clearElement="clear" mergeAppend="false" allowDuplicates="true">
|
||||
<attribute name="path" required="true" isCombinedKey="true" type="string" />
|
||||
<attribute name="type" required="true" type="string" />
|
||||
<attribute name="validate" type="bool" defaultValue="True" />
|
||||
<attribute name="verb" required="true" isCombinedKey="true" type="string" />
|
||||
</collection>
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.web/httpModules">
|
||||
<collection addElement="add" removeElement="remove" clearElement="clear">
|
||||
<attribute name="name" required="true" isUniqueKey="true" type="string" validationType="nonEmptyString" />
|
||||
<attribute name="type" required="true" type="string" />
|
||||
</collection>
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.web/httpRuntime" allowUnrecognizedAttributes="true">
|
||||
<attribute name="apartmentThreading" type="bool" defaultValue="False" />
|
||||
<attribute name="appRequestQueueLimit" type="int" validationType="integerRange" validationParameter="1,2147483647" defaultValue="5000" />
|
||||
<attribute name="delayNotificationTimeout" type="timeSpan" timeSpanFormat="seconds" defaultValue="5" />
|
||||
<attribute name="enable" type="bool" defaultValue="True" />
|
||||
<attribute name="enableHeaderChecking" type="bool" defaultValue="True" />
|
||||
<attribute name="enableKernelOutputCache" type="bool" defaultValue="True" />
|
||||
<attribute name="enableVersionHeader" type="bool" defaultValue="True" />
|
||||
<attribute name="executionTimeout" type="timeSpan" validationType="timeSpanRange" validationParameter="0,2147483647,1" timeSpanFormat="seconds" defaultValue="110" />
|
||||
<attribute name="maxRequestLength" type="int" validationType="integerRange" validationParameter="0,2147483647" defaultValue="4096" />
|
||||
<attribute name="maxWaitChangeNotification" type="int" validationType="integerRange" validationParameter="0,2147483647" defaultValue="0" />
|
||||
<attribute name="minFreeThreads" type="int" validationType="integerRange" validationParameter="0,2147483647" defaultValue="8" />
|
||||
<attribute name="minLocalRequestFreeThreads" type="int" validationType="integerRange" validationParameter="0,2147483647" defaultValue="4" />
|
||||
<attribute name="requestLengthDiskThreshold" type="int" validationType="integerRange" validationParameter="1,2147483647" defaultValue="80" />
|
||||
<attribute name="requireRootedSaveAsPath" type="bool" defaultValue="True" />
|
||||
<attribute name="sendCacheControlHeader" type="bool" defaultValue="True" />
|
||||
<attribute name="shutdownTimeout" type="timeSpan" timeSpanFormat="seconds" defaultValue="90" />
|
||||
<attribute name="useFullyQualifiedRedirectUrl" type="bool" defaultValue="False" />
|
||||
<attribute name="waitChangeNotification" type="int" validationType="integerRange" validationParameter="0,2147483647" defaultValue="0" />
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.web/identity" allowUnrecognizedAttributes="true">
|
||||
<attribute name="impersonate" type="bool" defaultValue="False" />
|
||||
<attribute name="password" type="string" />
|
||||
<attribute name="userName" type="string" />
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.web/machineKey">
|
||||
<attribute name="decryption" type="string" validationType="requireTrimmedString" defaultValue="Auto" />
|
||||
<attribute name="decryptionKey" type="string" validationType="requireTrimmedString" defaultValue="AutoGenerate,IsolateApps" />
|
||||
<attribute name="validation" type="enum" defaultValue="SHA1">
|
||||
<enum name="MD5" value="0" />
|
||||
<enum name="SHA1" value="1" />
|
||||
<enum name="3DES" value="2" />
|
||||
<enum name="AES" value="3" />
|
||||
</attribute>
|
||||
<attribute name="validationKey" type="string" validationType="requireTrimmedString" defaultValue="AutoGenerate,IsolateApps" />
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.web/mobileControls">
|
||||
<attribute name="allowCustomAttributes" type="bool" defaultValue="False" />
|
||||
<attribute name="cookielessDataDictionaryType" type="string" defaultValue="System.Web.Mobile.CookielessData" />
|
||||
<collection addElement="device" removeElement="remove" clearElement="clear">
|
||||
<collection addElement="control" removeElement="remove" clearElement="clear">
|
||||
<attribute name="adapter" required="true" type="string" />
|
||||
<attribute name="name" required="true" isUniqueKey="true" type="string" validationType="nonEmptyString" />
|
||||
</collection>
|
||||
<attribute name="inheritsFrom" type="string" validationType="nonEmptyString" />
|
||||
<attribute name="name" required="true" isUniqueKey="true" type="string" validationType="nonEmptyString" />
|
||||
<attribute name="pageAdapter" type="string" />
|
||||
<attribute name="predicateClass" type="string" />
|
||||
<attribute name="predicateMethod" type="string" validationType="nonEmptyString" />
|
||||
</collection>
|
||||
<attribute name="sessionStateHistorySize" type="int" validationType="integerRange" validationParameter="0,2147483647" defaultValue="6" />
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.web/pages">
|
||||
<attribute name="asyncTimeout" type="timeSpan" validationType="timeSpanRange" validationParameter="0,2147483647,1" timeSpanFormat="seconds" defaultValue="45" />
|
||||
<attribute name="autoEventWireup" type="bool" defaultValue="True" />
|
||||
<attribute name="buffer" type="bool" defaultValue="True" />
|
||||
<attribute name="compilationMode" type="enum" defaultValue="Always">
|
||||
<enum name="Auto" value="0" />
|
||||
<enum name="Never" value="1" />
|
||||
<enum name="Always" value="2" />
|
||||
</attribute>
|
||||
<element name="controls">
|
||||
<collection addElement="add" removeElement="remove">
|
||||
<attribute name="assembly" type="string" />
|
||||
<attribute name="namespace" type="string" />
|
||||
<attribute name="src" type="string" />
|
||||
<attribute name="tagName" type="string" />
|
||||
<attribute name="tagPrefix" required="true" type="string" validationType="nonEmptyString" defaultValue="/" />
|
||||
</collection>
|
||||
</element>
|
||||
<attribute name="enableEventValidation" type="bool" defaultValue="True" />
|
||||
<attribute name="enableSessionState" type="enum" defaultValue="true">
|
||||
<enum name="false" value="0" />
|
||||
<enum name="ReadOnly" value="1" />
|
||||
<enum name="true" value="2" />
|
||||
</attribute>
|
||||
<attribute name="enableViewState" type="bool" defaultValue="True" />
|
||||
<attribute name="enableViewStateMac" type="bool" defaultValue="True" />
|
||||
<attribute name="maintainScrollPositionOnPostBack" type="bool" defaultValue="False" />
|
||||
<attribute name="masterPageFile" type="string" />
|
||||
<attribute name="maxPageStateFieldLength" type="int" defaultValue="-1" />
|
||||
<element name="namespaces">
|
||||
<collection addElement="add" removeElement="remove" clearElement="clear">
|
||||
<attribute name="namespace" required="true" isUniqueKey="true" type="string" validationType="nonEmptyString" />
|
||||
</collection>
|
||||
<attribute name="autoImportVBNamespace" type="bool" defaultValue="True" />
|
||||
</element>
|
||||
<attribute name="pageBaseType" type="string" defaultValue="System.Web.UI.Page" />
|
||||
<attribute name="pageParserFilterType" type="string" />
|
||||
<attribute name="smartNavigation" type="bool" defaultValue="False" />
|
||||
<attribute name="styleSheetTheme" type="string" />
|
||||
<element name="tagMapping">
|
||||
<collection addElement="add" removeElement="remove" clearElement="clear">
|
||||
<attribute name="mappedTagType" type="string" validationType="nonEmptyString" />
|
||||
<attribute name="tagType" required="true" isUniqueKey="true" type="string" validationType="nonEmptyString" />
|
||||
</collection>
|
||||
</element>
|
||||
<attribute name="theme" type="string" />
|
||||
<attribute name="userControlBaseType" type="string" defaultValue="System.Web.UI.UserControl" />
|
||||
<attribute name="validateRequest" type="bool" defaultValue="True" />
|
||||
<attribute name="viewStateEncryptionMode" type="enum" defaultValue="Auto">
|
||||
<enum name="Auto" value="0" />
|
||||
<enum name="Always" value="1" />
|
||||
<enum name="Never" value="2" />
|
||||
</attribute>
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.web/protocols">
|
||||
<collection addElement="add" removeElement="remove" clearElement="clear">
|
||||
<attribute name="appDomainHandlerType" type="string" />
|
||||
<attribute name="name" required="true" isUniqueKey="true" type="string" validationType="nonEmptyString" />
|
||||
<attribute name="processHandlerType" type="string" />
|
||||
<attribute name="validate" type="bool" defaultValue="False" />
|
||||
</collection>
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.web/securityPolicy">
|
||||
<collection addElement="trustLevel">
|
||||
<attribute name="name" required="true" isUniqueKey="true" type="string" validationType="nonEmptyString" />
|
||||
<attribute name="policyFile" required="true" type="string" defaultValue="internal" />
|
||||
</collection>
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.web/sessionPageState">
|
||||
<attribute name="historySize" type="int" validationType="integerRange" validationParameter="1,2147483647" defaultValue="9" />
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.web/sessionState">
|
||||
<attribute name="allowCustomSqlDatabase" type="bool" defaultValue="False" />
|
||||
<attribute name="cookieless" type="enum" defaultValue="UseCookies">
|
||||
<enum name="UseUri" value="0" />
|
||||
<enum name="UseCookies" value="1" />
|
||||
<enum name="AutoDetect" value="2" />
|
||||
<enum name="UseDeviceProfile" value="3" />
|
||||
<enum name="true" value="0" />
|
||||
<enum name="false" value="1" />
|
||||
</attribute>
|
||||
<attribute name="cookieName" type="string" defaultValue="ASP.NET_SessionId" />
|
||||
<attribute name="customProvider" type="string" />
|
||||
<attribute name="mode" type="enum" defaultValue="InProc">
|
||||
<enum name="Off" value="0" />
|
||||
<enum name="InProc" value="1" />
|
||||
<enum name="StateServer" value="2" />
|
||||
<enum name="SQLServer" value="3" />
|
||||
<enum name="Custom" value="4" />
|
||||
</attribute>
|
||||
<attribute name="partitionResolverType" type="string" />
|
||||
<element name="providers">
|
||||
<collection addElement="add" removeElement="remove" clearElement="clear" allowUnrecognizedAttributes="true">
|
||||
<attribute name="name" required="true" isUniqueKey="true" type="string" />
|
||||
<attribute name="type" required="true" type="string" />
|
||||
</collection>
|
||||
</element>
|
||||
<attribute name="regenerateExpiredSessionId" type="bool" defaultValue="True" />
|
||||
<attribute name="sessionIDManagerType" type="string" />
|
||||
<attribute name="sqlCommandTimeout" type="timeSpan" allowInfinite="true" timeSpanFormat="seconds" defaultValue="30" />
|
||||
<attribute name="sqlConnectionString" type="string" defaultValue="data source=localhost;Integrated Security=SSPI" />
|
||||
<attribute name="stateConnectionString" type="string" defaultValue="tcpip=loopback:42424" />
|
||||
<attribute name="stateNetworkTimeout" type="timeSpan" allowInfinite="true" timeSpanFormat="seconds" defaultValue="10" />
|
||||
<attribute name="timeout" type="timeSpan" validationType="timeSpanRange" validationParameter="1,2147483640,60" allowInfinite="true" timeSpanFormat="minutes" defaultValue="20" />
|
||||
<attribute name="useHostingIdentity" type="bool" defaultValue="True" />
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.web/siteMap">
|
||||
<attribute name="defaultProvider" type="string" validationType="nonEmptyString" defaultValue="AspNetXmlSiteMapProvider" />
|
||||
<attribute name="enabled" type="bool" defaultValue="True" />
|
||||
<element name="providers">
|
||||
<collection addElement="add" removeElement="remove" clearElement="clear" allowUnrecognizedAttributes="true">
|
||||
<attribute name="name" required="true" isUniqueKey="true" type="string" />
|
||||
<attribute name="type" required="true" type="string" />
|
||||
</collection>
|
||||
</element>
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.web/trace">
|
||||
<attribute name="enabled" type="bool" defaultValue="False" />
|
||||
<attribute name="localOnly" type="bool" defaultValue="True" />
|
||||
<attribute name="mostRecent" type="bool" defaultValue="False" />
|
||||
<attribute name="pageOutput" type="bool" defaultValue="False" />
|
||||
<attribute name="requestLimit" type="int" validationType="integerRange" validationParameter="0,2147483647" defaultValue="10" />
|
||||
<attribute name="traceMode" type="enum" defaultValue="SortByTime">
|
||||
<enum name="SortByTime" value="1" />
|
||||
<enum name="SortByCategory" value="2" />
|
||||
</attribute>
|
||||
<attribute name="writeToDiagnosticsTrace" type="bool" defaultValue="False" />
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.web/trust">
|
||||
<attribute name="level" type="string" validationType="nonEmptyString" defaultValue="Full" />
|
||||
<attribute name="originUrl" type="string" />
|
||||
<attribute name="processRequestInApplicationTrust" type="bool" defaultValue="True" />
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.web/urlMappings">
|
||||
<attribute name="enabled" type="bool" defaultValue="True" />
|
||||
<collection addElement="add" removeElement="remove" clearElement="clear">
|
||||
<attribute name="mappedUrl" required="true" type="string" />
|
||||
<attribute name="url" required="true" isUniqueKey="true" type="string" />
|
||||
</collection>
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.web/webControls">
|
||||
<attribute name="clientScriptsLocation" type="string" validationType="nonEmptyString" defaultValue="/aspnet_client/{0}/{1}/" />
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.web/webParts">
|
||||
<attribute name="enableExport" type="bool" defaultValue="False" />
|
||||
<element name="personalization">
|
||||
<element name="authorization">
|
||||
<collection addElement="allow,deny" mergeAppend="false" allowDuplicates="true">
|
||||
<attribute name="roles" type="string" />
|
||||
<attribute name="users" type="string" />
|
||||
<attribute name="verbs" type="string" />
|
||||
</collection>
|
||||
</element>
|
||||
<attribute name="defaultProvider" type="string" validationType="nonEmptyString" defaultValue="AspNetSqlPersonalizationProvider" />
|
||||
<element name="providers">
|
||||
<collection addElement="add" removeElement="remove" clearElement="clear" allowUnrecognizedAttributes="true">
|
||||
<attribute name="name" required="true" isUniqueKey="true" type="string" />
|
||||
<attribute name="type" required="true" type="string" />
|
||||
</collection>
|
||||
</element>
|
||||
</element>
|
||||
<element name="transformers">
|
||||
<collection addElement="add" removeElement="remove" clearElement="clear">
|
||||
<attribute name="name" required="true" isUniqueKey="true" type="string" validationType="nonEmptyString" />
|
||||
<attribute name="type" required="true" type="string" validationType="nonEmptyString" />
|
||||
</collection>
|
||||
</element>
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.web/webServices">
|
||||
<element name="conformanceWarnings">
|
||||
<collection addElement="add" removeElement="remove" clearElement="clear">
|
||||
<attribute name="name" isUniqueKey="true" type="flags">
|
||||
<flag name="None" value="0" />
|
||||
<flag name="BasicProfile1_1" value="1" />
|
||||
</attribute>
|
||||
</collection>
|
||||
</element>
|
||||
<element name="diagnostics">
|
||||
<attribute name="suppressReturningExceptions" type="bool" defaultValue="False" />
|
||||
</element>
|
||||
<element name="protocols">
|
||||
<collection addElement="add" removeElement="remove" clearElement="clear">
|
||||
<attribute name="name" isUniqueKey="true" type="flags">
|
||||
<flag name="Unknown" value="0" />
|
||||
<flag name="HttpSoap" value="1" />
|
||||
<flag name="HttpGet" value="2" />
|
||||
<flag name="HttpPost" value="4" />
|
||||
<flag name="Documentation" value="8" />
|
||||
<flag name="HttpPostLocalhost" value="16" />
|
||||
<flag name="HttpSoap12" value="32" />
|
||||
<flag name="AnyHttpSoap" value="33" />
|
||||
</attribute>
|
||||
</collection>
|
||||
</element>
|
||||
<element name="serviceDescriptionFormatExtensionTypes">
|
||||
<collection addElement="add" removeElement="remove" clearElement="clear">
|
||||
<attribute name="type" isUniqueKey="true" type="string" />
|
||||
</collection>
|
||||
</element>
|
||||
<element name="soapEnvelopeProcessing">
|
||||
<attribute name="strict" type="bool" defaultValue="False" />
|
||||
<attribute name="readTimeout" type="int" defaultValue="2147483647" />
|
||||
</element>
|
||||
<element name="soapExtensionImporterTypes">
|
||||
<collection addElement="add" removeElement="remove" clearElement="clear">
|
||||
<attribute name="type" isUniqueKey="true" type="string" />
|
||||
</collection>
|
||||
</element>
|
||||
<element name="soapExtensionReflectorTypes">
|
||||
<collection addElement="add" removeElement="remove" clearElement="clear">
|
||||
<attribute name="type" isUniqueKey="true" type="string" />
|
||||
</collection>
|
||||
</element>
|
||||
<element name="soapExtensionTypes">
|
||||
<collection addElement="add" removeElement="remove" clearElement="clear">
|
||||
<attribute name="group" isCombinedKey="true" type="enum" defaultValue="Low">
|
||||
<enum name="High" value="0" />
|
||||
<enum name="Low" value="1" />
|
||||
</attribute>
|
||||
<attribute name="priority" isCombinedKey="true" type="int" validationType="integerRange" validationParameter="0,2147483647" defaultValue="0" />
|
||||
<attribute name="type" isCombinedKey="true" type="string" />
|
||||
</collection>
|
||||
</element>
|
||||
<element name="soapServerProtocolFactory">
|
||||
<attribute name="type" type="string" />
|
||||
</element>
|
||||
<element name="soapTransportImporterTypes">
|
||||
<collection addElement="add" removeElement="remove" clearElement="clear">
|
||||
<attribute name="type" isUniqueKey="true" type="string" />
|
||||
</collection>
|
||||
</element>
|
||||
<element name="wsdlHelpGenerator">
|
||||
<attribute name="href" type="string" />
|
||||
</element>
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.web/xhtmlConformance">
|
||||
<attribute name="mode" type="enum" defaultValue="Transitional">
|
||||
<enum name="Transitional" value="0" />
|
||||
<enum name="Legacy" value="1" />
|
||||
<enum name="Strict" value="2" />
|
||||
</attribute>
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.web/caching/cache">
|
||||
<attribute name="disableExpiration" type="bool" defaultValue="False" />
|
||||
<attribute name="disableMemoryCollection" type="bool" defaultValue="False" />
|
||||
<attribute name="percentagePhysicalMemoryUsedLimit" type="int" validationType="integerRange" defaultValue="0" validationParameter="0,100" />
|
||||
<attribute name="privateBytesLimit" type="int64" defaultValue="0" />
|
||||
<attribute name="privateBytesPollTime" type="timeSpan" allowInfinite="true" defaultValue="00:02:00" />
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.web/caching/outputCache">
|
||||
<attribute name="enableFragmentCache" type="bool" defaultValue="True" />
|
||||
<attribute name="enableKernelCacheForVaryByStar" type="bool" defaultValue="False" />
|
||||
<attribute name="enableOutputCache" type="bool" defaultValue="True" />
|
||||
<attribute name="omitVaryStar" type="bool" defaultValue="False" />
|
||||
<attribute name="sendCacheControlHeader" type="bool" defaultValue="True" />
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.web/caching/outputCacheSettings">
|
||||
<element name="outputCacheProfiles">
|
||||
<collection addElement="add" removeElement="remove" clearElement="clear">
|
||||
<attribute name="duration" type="int" defaultValue="-1" />
|
||||
<attribute name="enabled" type="bool" defaultValue="True" />
|
||||
<attribute name="location" type="enum">
|
||||
<enum name="Any" value="0" />
|
||||
<enum name="Client" value="1" />
|
||||
<enum name="Downstream" value="2" />
|
||||
<enum name="Server" value="3" />
|
||||
<enum name="None" value="4" />
|
||||
<enum name="ServerAndClient" value="5" />
|
||||
</attribute>
|
||||
<attribute name="name" required="true" isUniqueKey="true" type="string" validationType="requireTrimmedString" />
|
||||
<attribute name="noStore" type="bool" defaultValue="False" />
|
||||
<attribute name="sqlDependency" type="string" />
|
||||
<attribute name="varyByContentEncoding" type="string" />
|
||||
<attribute name="varyByControl" type="string" />
|
||||
<attribute name="varyByCustom" type="string" />
|
||||
<attribute name="varyByHeader" type="string" />
|
||||
<attribute name="varyByParam" type="string" />
|
||||
</collection>
|
||||
</element>
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.web/caching/sqlCacheDependency">
|
||||
<element name="databases">
|
||||
<collection addElement="add" removeElement="remove" clearElement="clear">
|
||||
<attribute name="connectionStringName" required="true" type="string" validationType="nonEmptyString" />
|
||||
<attribute name="name" required="true" isUniqueKey="true" type="string" validationType="nonEmptyString" />
|
||||
<attribute name="pollTime" type="int" defaultValue="60000" />
|
||||
</collection>
|
||||
</element>
|
||||
<attribute name="enabled" type="bool" defaultValue="True" />
|
||||
<attribute name="pollTime" type="int" defaultValue="60000" />
|
||||
</sectionSchema>
|
||||
</configSchema>
|
439
IISExpress/config/schema/FX_schema.xml
Normal file
439
IISExpress/config/schema/FX_schema.xml
Normal file
|
@ -0,0 +1,439 @@
|
|||
|
||||
<!--
|
||||
|
||||
.NET Framework configuration schema (beyond ASP.NET).
|
||||
|
||||
Please do not edit this file. To add configuration sections to the schema,
|
||||
put them in .xml files similar to this one, in this directory. They will
|
||||
be picked up automatically at application pool startup.
|
||||
|
||||
-->
|
||||
<configSchema>
|
||||
<sectionSchema name="appSettings">
|
||||
<attribute name="file" type="string" />
|
||||
<collection addElement="add" removeElement="remove" clearElement="clear">
|
||||
<attribute name="key" isUniqueKey="true" type="string" />
|
||||
<attribute name="value" type="string" />
|
||||
</collection>
|
||||
</sectionSchema>
|
||||
<sectionSchema name="configProtectedData">
|
||||
<attribute name="defaultProvider" type="string" defaultValue="RsaProtectedConfigurationProvider" />
|
||||
<element name="providers">
|
||||
<collection addElement="add" removeElement="remove" clearElement="clear" allowUnrecognizedAttributes="true">
|
||||
<attribute name="name" required="true" isUniqueKey="true" type="string" />
|
||||
<attribute name="type" required="true" type="string" />
|
||||
</collection>
|
||||
</element>
|
||||
</sectionSchema>
|
||||
<sectionSchema name="connectionStrings">
|
||||
<collection addElement="add" removeElement="remove" clearElement="clear">
|
||||
<attribute name="connectionString" required="true" type="string" />
|
||||
<attribute name="name" required="true" isUniqueKey="true" type="string" />
|
||||
<attribute name="providerName" type="string" defaultValue="System.Data.SqlClient" />
|
||||
</collection>
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.codedom">
|
||||
<element name="compilers">
|
||||
<collection addElement="compiler" removeElement="remove" clearElement="clear">
|
||||
<attribute name="language" type="string" isCombinedKey="true" />
|
||||
<attribute name="extension" type="string" isCombinedKey="true" />
|
||||
<attribute name="type" type="string" />
|
||||
<attribute name="warningLevel" type="int" />
|
||||
<attribute name="compilerOptions" type="string" />
|
||||
</collection>
|
||||
</element>
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.data">
|
||||
<element name="DbProviderFactories">
|
||||
<collection addElement="add" removeElement="remove" clearElement="clear">
|
||||
<attribute name="invariant" type="string" required="true" isUniqueKey="true" />
|
||||
<attribute name="name" type="string" />
|
||||
<attribute name="description" type="string" />
|
||||
<attribute name="type" required="true" type="string" />
|
||||
</collection>
|
||||
</element>
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.diagnostics">
|
||||
<element name="assert">
|
||||
<attribute name="assertuienabled" type="bool" defaultValue="True" />
|
||||
<attribute name="logfilename" type="string" />
|
||||
</element>
|
||||
<element name="performanceCounters">
|
||||
<attribute name="filemappingsize" type="int" defaultValue="524288" />
|
||||
</element>
|
||||
<element name="sharedListeners">
|
||||
<collection addElement="add" allowUnrecognizedAttributes="true">
|
||||
<attribute name="name" type="string" required="true" isUniqueKey="true" />
|
||||
<attribute name="traceOutputOptions" type="flags" defaultValue="None">
|
||||
<flag name="None" value="0" />
|
||||
<flag name="LogicalOperationStack" value="1" />
|
||||
<flag name="DateTime" value="2" />
|
||||
<flag name="Timestamp" value="4" />
|
||||
<flag name="ProcessId" value="8" />
|
||||
<flag name="ThreadId" value="16" />
|
||||
<flag name="Callstack" value="32" />
|
||||
</attribute>
|
||||
<attribute name="initializeData" type="string" defaultValue="" />
|
||||
<attribute name="type" type="string" required="true" defaultValue="" />
|
||||
<element name="filter">
|
||||
<attribute name="initializeData" type="string" />
|
||||
<attribute name="type" type="string" />
|
||||
</element>
|
||||
</collection>
|
||||
</element>
|
||||
<element name="sources">
|
||||
<collection addElement="source" allowUnrecognizedAttributes="true">
|
||||
<attribute name="name" type="string" required="true" defaultValue="" />
|
||||
<attribute name="switchName" type="string" />
|
||||
<attribute name="switchValue" type="string" />
|
||||
<attribute name="switchType" type="string" />
|
||||
<element name="listeners">
|
||||
<collection addElement="add" removeElement="remove" clearElement="clear" allowUnrecognizedAttributes="true">
|
||||
<attribute name="name" type="string" required="true" isUniqueKey="true" />
|
||||
<attribute name="traceOutputOptions" type="flags" defaultValue="None">
|
||||
<flag name="None" value="0" />
|
||||
<flag name="LogicalOperationStack" value="1" />
|
||||
<flag name="DateTime" value="2" />
|
||||
<flag name="Timestamp" value="4" />
|
||||
<flag name="ProcessId" value="8" />
|
||||
<flag name="ThreadId" value="16" />
|
||||
<flag name="Callstack" value="32" />
|
||||
</attribute>
|
||||
<attribute name="initializeData" type="string" defaultValue="" />
|
||||
<attribute name="type" type="string" required="true" defaultValue="" />
|
||||
<element name="filter">
|
||||
<attribute name="initializeData" type="string" />
|
||||
<attribute name="type" type="string" />
|
||||
</element>
|
||||
</collection>
|
||||
</element>
|
||||
</collection>
|
||||
</element>
|
||||
<element name="switches">
|
||||
<collection addElement="add" removeElement="remove" clearElement="clear" allowUnrecognizedAttributes="true">
|
||||
<attribute name="name" type="string" required="true" isUniqueKey="true" defaultValue="" />
|
||||
<attribute name="type" type="string" required="true" />
|
||||
</collection>
|
||||
</element>
|
||||
<element name="trace">
|
||||
<attribute name="autoflush" type="bool" defaultValue="False" />
|
||||
<attribute name="indentsize" type="int" defaultValue="4" />
|
||||
<element name="listeners">
|
||||
<collection addElement="add" removeElement="remove" clearElement="clear" allowUnrecognizedAttributes="true">
|
||||
<attribute name="name" type="string" required="true" isUniqueKey="true" />
|
||||
<attribute name="traceOutputOptions" type="flags" defaultValue="None">
|
||||
<flag name="None" value="0" />
|
||||
<flag name="LogicalOperationStack" value="1" />
|
||||
<flag name="DateTime" value="2" />
|
||||
<flag name="Timestamp" value="4" />
|
||||
<flag name="ProcessId" value="8" />
|
||||
<flag name="ThreadId" value="16" />
|
||||
<flag name="Callstack" value="32" />
|
||||
</attribute>
|
||||
<attribute name="initializeData" type="string" defaultValue="" />
|
||||
<attribute name="type" type="string" required="true" defaultValue="" />
|
||||
<element name="filter">
|
||||
<attribute name="initializeData" type="string" />
|
||||
<attribute name="type" type="string" />
|
||||
</element>
|
||||
</collection>
|
||||
</element>
|
||||
<attribute name="useGlobalLock" type="bool" defaultValue="True" />
|
||||
</element>
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.windows.forms">
|
||||
<attribute name="jitDebugging" type="bool" defaultValue="False" />
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.net/authenticationModules">
|
||||
<collection addElement="add" removeElement="remove" clearElement="clear">
|
||||
<attribute name="type" required="true" isUniqueKey="true" type="string" />
|
||||
</collection>
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.net/connectionManagement">
|
||||
<collection addElement="add" removeElement="remove" clearElement="clear">
|
||||
<attribute name="address" required="true" isUniqueKey="true" type="string" />
|
||||
<attribute name="maxconnection" required="true" type="int" defaultValue="1" />
|
||||
</collection>
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.net/defaultProxy">
|
||||
<element name="bypasslist">
|
||||
<collection addElement="add" removeElement="remove" clearElement="clear" allowDuplicates="true">
|
||||
<attribute name="address" required="true" isUniqueKey="true" type="string" />
|
||||
</collection>
|
||||
</element>
|
||||
<attribute name="enabled" type="bool" defaultValue="True" />
|
||||
<element name="module">
|
||||
<attribute name="type" type="string" />
|
||||
</element>
|
||||
<element name="proxy">
|
||||
<attribute name="autoDetect" type="enum" defaultValue="Unspecified">
|
||||
<enum name="false" value="0" />
|
||||
<enum name="true" value="1" />
|
||||
<enum name="Unspecified" value="-1" />
|
||||
</attribute>
|
||||
<attribute name="bypassonlocal" type="enum" defaultValue="Unspecified">
|
||||
<enum name="false" value="0" />
|
||||
<enum name="true" value="1" />
|
||||
<enum name="Unspecified" value="-1" />
|
||||
</attribute>
|
||||
<attribute name="proxyaddress" type="string" />
|
||||
<attribute name="scriptLocation" type="string" />
|
||||
<attribute name="usesystemdefault" type="enum" defaultValue="Unspecified">
|
||||
<enum name="false" value="0" />
|
||||
<enum name="true" value="1" />
|
||||
<enum name="Unspecified" value="-1" />
|
||||
</attribute>
|
||||
</element>
|
||||
<attribute name="useDefaultCredentials" type="bool" defaultValue="False" />
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.net/requestCaching">
|
||||
<element name="defaultFtpCachePolicy">
|
||||
<attribute name="policyLevel" type="enum" defaultValue="Default">
|
||||
<enum name="Default" value="0" />
|
||||
<enum name="BypassCache" value="1" />
|
||||
<enum name="CacheOnly" value="2" />
|
||||
<enum name="CacheIfAvailable" value="3" />
|
||||
<enum name="Revalidate" value="4" />
|
||||
<enum name="Reload" value="5" />
|
||||
<enum name="NoCacheNoStore" value="6" />
|
||||
</attribute>
|
||||
</element>
|
||||
<element name="defaultHttpCachePolicy">
|
||||
<attribute name="maximumAge" type="timeSpan" defaultValue="10675199.02:48:05.4775807" />
|
||||
<attribute name="maximumStale" type="timeSpan" defaultValue="-10675199.02:48:05.4775808" />
|
||||
<attribute name="minimumFresh" type="timeSpan" defaultValue="-10675199.02:48:05.4775808" />
|
||||
<attribute name="policyLevel" type="enum" defaultValue="Default">
|
||||
<enum name="Default" value="0" />
|
||||
<enum name="BypassCache" value="1" />
|
||||
<enum name="CacheOnly" value="2" />
|
||||
<enum name="CacheIfAvailable" value="3" />
|
||||
<enum name="Revalidate" value="4" />
|
||||
<enum name="Reload" value="5" />
|
||||
<enum name="NoCacheNoStore" value="6" />
|
||||
<enum name="CacheOrNextCacheOnly" value="7" />
|
||||
<enum name="Refresh" value="8" />
|
||||
</attribute>
|
||||
</element>
|
||||
<attribute name="defaultPolicyLevel" type="enum" defaultValue="BypassCache">
|
||||
<enum name="Default" value="0" />
|
||||
<enum name="BypassCache" value="1" />
|
||||
<enum name="CacheOnly" value="2" />
|
||||
<enum name="CacheIfAvailable" value="3" />
|
||||
<enum name="Revalidate" value="4" />
|
||||
<enum name="Reload" value="5" />
|
||||
<enum name="NoCacheNoStore" value="6" />
|
||||
</attribute>
|
||||
<attribute name="disableAllCaching" type="bool" defaultValue="False" />
|
||||
<attribute name="isPrivateCache" type="bool" defaultValue="True" />
|
||||
<attribute name="unspecifiedMaximumAge" type="timeSpan" defaultValue="1.00:00:00" />
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.net/settings">
|
||||
<element name="httpWebRequest">
|
||||
<attribute name="maximumErrorResponseLength" type="int" defaultValue="64" />
|
||||
<attribute name="maximumResponseHeadersLength" type="int" defaultValue="64" />
|
||||
<attribute name="maximumUnauthorizedUploadLength" type="int" defaultValue="-1" />
|
||||
<attribute name="useUnsafeHeaderParsing" type="bool" defaultValue="False" />
|
||||
</element>
|
||||
<element name="ipv6">
|
||||
<attribute name="enabled" type="bool" defaultValue="False" />
|
||||
</element>
|
||||
<element name="performanceCounters">
|
||||
<attribute name="enabled" type="bool" defaultValue="False" />
|
||||
</element>
|
||||
<element name="servicePointManager">
|
||||
<attribute name="checkCertificateName" type="bool" defaultValue="True" />
|
||||
<attribute name="checkCertificateRevocationList" type="bool" defaultValue="False" />
|
||||
<attribute name="dnsRefreshTimeout" type="int" defaultValue="120000" />
|
||||
<attribute name="enableDnsRoundRobin" type="bool" defaultValue="False" />
|
||||
<attribute name="expect100Continue" type="bool" defaultValue="True" />
|
||||
<attribute name="useNagleAlgorithm" type="bool" defaultValue="True" />
|
||||
</element>
|
||||
<element name="socket">
|
||||
<attribute name="alwaysUseCompletionPortsForAccept" type="bool" defaultValue="False" />
|
||||
<attribute name="alwaysUseCompletionPortsForConnect" type="bool" defaultValue="False" />
|
||||
</element>
|
||||
<element name="webProxyScript">
|
||||
<attribute name="downloadTimeout" type="timeSpan" defaultValue="00:02:00" />
|
||||
</element>
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.net/webRequestModules">
|
||||
<collection addElement="add" removeElement="remove" clearElement="clear">
|
||||
<attribute name="prefix" required="true" isUniqueKey="true" type="string" />
|
||||
<attribute name="type" type="string" />
|
||||
</collection>
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.net/mailSettings/smtp">
|
||||
<attribute name="deliveryMethod" type="enum" defaultValue="Network">
|
||||
<enum name="Network" value="0" />
|
||||
<enum name="SpecifiedPickupDirectory" value="1" />
|
||||
<enum name="PickupDirectoryFromIis" value="2" />
|
||||
</attribute>
|
||||
<attribute name="from" type="string" />
|
||||
<element name="network">
|
||||
<attribute name="defaultCredentials" type="bool" defaultValue="False" />
|
||||
<attribute name="host" type="string" />
|
||||
<attribute name="password" type="string" />
|
||||
<attribute name="port" type="int" defaultValue="25" />
|
||||
<attribute name="userName" type="string" />
|
||||
</element>
|
||||
<element name="specifiedPickupDirectory">
|
||||
<attribute name="pickupDirectoryLocation" type="string" />
|
||||
</element>
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.transactions/defaultSettings">
|
||||
<attribute name="distributedTransactionManagerName" type="string" />
|
||||
<attribute name="timeout" type="timeSpan" validationType="timeSpanRange" validationParameter="0,2147483647,1" defaultValue="00:01:00" />
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.transactions/machineSettings">
|
||||
<attribute name="maxTimeout" type="timeSpan" validationType="timeSpanRange" validationParameter="0,2147483647,1" defaultValue="00:10:00" />
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.web/deployment">
|
||||
<attribute name="retail" type="bool" defaultValue="False" />
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.web/membership">
|
||||
<attribute name="defaultProvider" type="string" validationType="nonEmptyString" defaultValue="AspNetSqlMembershipProvider" />
|
||||
<attribute name="hashAlgorithmType" type="string" />
|
||||
<element name="providers">
|
||||
<collection addElement="add" removeElement="remove" clearElement="clear" allowUnrecognizedAttributes="true">
|
||||
<attribute name="name" required="true" isUniqueKey="true" type="string" />
|
||||
<attribute name="type" required="true" type="string" />
|
||||
</collection>
|
||||
</element>
|
||||
<attribute name="userIsOnlineTimeWindow" type="timeSpan" validationType="timeSpanRange" validationParameter="1,2147483640,60" timeSpanFormat="minutes" defaultValue="15" />
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.web/processModel">
|
||||
<attribute name="autoConfig" type="bool" defaultValue="False" />
|
||||
<attribute name="clientConnectedCheck" type="timeSpan" allowInfinite="true" defaultValue="00:00:05" />
|
||||
<attribute name="comAuthenticationLevel" type="enum" defaultValue="Connect">
|
||||
<enum name="None" value="0" />
|
||||
<enum name="Call" value="1" />
|
||||
<enum name="Connect" value="2" />
|
||||
<enum name="Default" value="3" />
|
||||
<enum name="Pkt" value="4" />
|
||||
<enum name="PktIntegrity" value="5" />
|
||||
<enum name="PktPrivacy" value="6" />
|
||||
</attribute>
|
||||
<attribute name="comImpersonationLevel" type="enum" defaultValue="Impersonate">
|
||||
<enum name="Default" value="0" />
|
||||
<enum name="Anonymous" value="1" />
|
||||
<enum name="Delegate" value="2" />
|
||||
<enum name="Identify" value="3" />
|
||||
<enum name="Impersonate" value="4" />
|
||||
</attribute>
|
||||
<attribute name="cpuMask" type="int" />
|
||||
<attribute name="enable" type="bool" defaultValue="True" />
|
||||
<attribute name="idleTimeout" type="timeSpan" allowInfinite="true" defaultValue="10675199.02:48:05.4775807" />
|
||||
<attribute name="logLevel" type="enum" defaultValue="Errors">
|
||||
<enum name="None" value="0" />
|
||||
<enum name="All" value="1" />
|
||||
<enum name="Errors" value="2" />
|
||||
</attribute>
|
||||
<attribute name="maxAppDomains" type="int" validationType="integerRange" validationParameter="1,2147483646" defaultValue="2000" />
|
||||
<attribute name="maxIoThreads" type="int" validationType="integerRange" validationParameter="1,2147483646" defaultValue="20" />
|
||||
<attribute name="maxWorkerThreads" type="int" validationType="integerRange" validationParameter="1,2147483646" defaultValue="20" />
|
||||
<attribute name="memoryLimit" type="int" defaultValue="60" />
|
||||
<attribute name="minIoThreads" type="int" validationType="integerRange" validationParameter="1,2147483646" defaultValue="1" />
|
||||
<attribute name="minWorkerThreads" type="int" validationType="integerRange" validationParameter="1,2147483646" defaultValue="1" />
|
||||
<attribute name="password" type="string" defaultValue="AutoGenerate" />
|
||||
<attribute name="pingFrequency" type="timeSpan" allowInfinite="true" defaultValue="10675199.02:48:05.4775807" />
|
||||
<attribute name="pingTimeout" type="timeSpan" allowInfinite="true" defaultValue="10675199.02:48:05.4775807" />
|
||||
<attribute name="requestLimit" type="int" validationType="integerRange" validationParameter="0,2147483647" allowInfinite="true" defaultValue="2147483647" />
|
||||
<attribute name="requestQueueLimit" type="int" validationType="integerRange" validationParameter="0,2147483647" allowInfinite="true" defaultValue="5000" />
|
||||
<attribute name="responseDeadlockInterval" type="timeSpan" validationType="timeSpanRange" validationParameter="0,2147483647,1" allowInfinite="true" defaultValue="00:03:00" />
|
||||
<attribute name="responseRestartDeadlockInterval" type="timeSpan" allowInfinite="true" defaultValue="00:03:00" />
|
||||
<attribute name="restartQueueLimit" type="int" validationType="integerRange" validationParameter="0,2147483647" allowInfinite="true" defaultValue="10" />
|
||||
<attribute name="serverErrorMessageFile" type="string" />
|
||||
<attribute name="shutdownTimeout" type="timeSpan" validationType="timeSpanRange" validationParameter="0,2147483647,1" allowInfinite="true" defaultValue="00:00:05" />
|
||||
<attribute name="timeout" type="timeSpan" allowInfinite="true" defaultValue="10675199.02:48:05.4775807" />
|
||||
<attribute name="userName" type="string" defaultValue="machine" />
|
||||
<attribute name="webGarden" type="bool" defaultValue="False" />
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.web/profile">
|
||||
<attribute name="automaticSaveEnabled" type="bool" defaultValue="True" />
|
||||
<attribute name="defaultProvider" type="string" validationType="nonEmptyString" defaultValue="AspNetSqlProfileProvider" />
|
||||
<attribute name="enabled" type="bool" defaultValue="True" />
|
||||
<attribute name="inherits" type="string" />
|
||||
<element name="properties">
|
||||
<collection addElement="add" removeElement="remove" clearElement="clear">
|
||||
<attribute name="allowAnonymous" type="bool" defaultValue="False" />
|
||||
<attribute name="customProviderData" type="string" />
|
||||
<attribute name="defaultValue" type="string" />
|
||||
<attribute name="name" required="true" isUniqueKey="true" type="string" validationType="nonEmptyString" />
|
||||
<attribute name="provider" type="string" />
|
||||
<attribute name="readOnly" type="bool" defaultValue="False" />
|
||||
<attribute name="serializeAs" type="enum" defaultValue="ProviderSpecific">
|
||||
<enum name="String" value="0" />
|
||||
<enum name="Xml" value="1" />
|
||||
<enum name="Binary" value="2" />
|
||||
<enum name="ProviderSpecific" value="3" />
|
||||
</attribute>
|
||||
<attribute name="type" type="string" defaultValue="string" />
|
||||
</collection>
|
||||
<collection addElement="group">
|
||||
<attribute name="name" required="true" isUniqueKey="true" type="string" validationType="nonEmptyString" />
|
||||
<collection addElement="add" removeElement="remove" clearElement="clear">
|
||||
<attribute name="allowAnonymous" type="bool" defaultValue="False" />
|
||||
<attribute name="customProviderData" type="string" />
|
||||
<attribute name="defaultValue" type="string" />
|
||||
<attribute name="name" required="true" isUniqueKey="true" type="string" validationType="nonEmptyString" />
|
||||
<attribute name="provider" type="string" />
|
||||
<attribute name="readOnly" type="bool" defaultValue="False" />
|
||||
<attribute name="serializeAs" type="enum" defaultValue="ProviderSpecific">
|
||||
<enum name="String" value="0" />
|
||||
<enum name="Xml" value="1" />
|
||||
<enum name="Binary" value="2" />
|
||||
<enum name="ProviderSpecific" value="3" />
|
||||
</attribute>
|
||||
<attribute name="type" type="string" defaultValue="string" />
|
||||
</collection>
|
||||
</collection>
|
||||
</element>
|
||||
<element name="providers">
|
||||
<collection addElement="add" removeElement="remove" clearElement="clear" allowUnrecognizedAttributes="true">
|
||||
<attribute name="name" required="true" isUniqueKey="true" type="string" />
|
||||
<attribute name="type" required="true" type="string" />
|
||||
</collection>
|
||||
</element>
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.web/roleManager">
|
||||
<attribute name="cacheRolesInCookie" type="bool" defaultValue="False" />
|
||||
<attribute name="cookieName" type="string" validationType="requireTrimmedString" defaultValue=".ASPXROLES" />
|
||||
<attribute name="cookiePath" type="string" validationType="requireTrimmedString" defaultValue="/" />
|
||||
<attribute name="cookieProtection" type="enum" defaultValue="All">
|
||||
<enum name="None" value="0" />
|
||||
<enum name="Validation" value="1" />
|
||||
<enum name="Encryption" value="2" />
|
||||
<enum name="All" value="3" />
|
||||
</attribute>
|
||||
<attribute name="cookieRequireSSL" type="bool" defaultValue="False" />
|
||||
<attribute name="cookieSlidingExpiration" type="bool" defaultValue="True" />
|
||||
<attribute name="cookieTimeout" type="timeSpan" validationType="timeSpanRange" validationParameter="0,2147483640,60" allowInfinite="true" timeSpanFormat="minutes" defaultValue="30" />
|
||||
<attribute name="createPersistentCookie" type="bool" defaultValue="False" />
|
||||
<attribute name="defaultProvider" type="string" validationType="requireTrimmedString" defaultValue="AspNetSqlRoleProvider" />
|
||||
<attribute name="domain" type="string" />
|
||||
<attribute name="enabled" type="bool" defaultValue="False" />
|
||||
<attribute name="maxCachedResults" type="int" defaultValue="25" />
|
||||
<element name="providers">
|
||||
<collection addElement="add" removeElement="remove" clearElement="clear" allowUnrecognizedAttributes="true">
|
||||
<attribute name="name" required="true" isUniqueKey="true" type="string" />
|
||||
<attribute name="type" required="true" type="string" />
|
||||
</collection>
|
||||
</element>
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.xml.serialization/dateTimeSerialization">
|
||||
<attribute name="mode" type="enum" defaultValue="Roundtrip">
|
||||
<enum name="Default" value="0" />
|
||||
<enum name="Roundtrip" value="1" />
|
||||
<enum name="Local" value="2" />
|
||||
</attribute>
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.xml.serialization/schemaImporterExtensions">
|
||||
<collection addElement="add" removeElement="remove" clearElement="clear">
|
||||
<attribute name="name" required="true" isUniqueKey="true" type="string" />
|
||||
<attribute name="type" required="true" type="string" />
|
||||
</collection>
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.xml.serialization/xmlSerializer">
|
||||
<attribute name="checkDeserializeAdvances" type="bool" defaultValue="False" />
|
||||
</sectionSchema>
|
||||
</configSchema>
|
1394
IISExpress/config/schema/IIS_schema.xml
Normal file
1394
IISExpress/config/schema/IIS_schema.xml
Normal file
File diff suppressed because it is too large
Load diff
124
IISExpress/config/schema/WebDAV_schema.xml
Normal file
124
IISExpress/config/schema/WebDAV_schema.xml
Normal file
|
@ -0,0 +1,124 @@
|
|||
<!--
|
||||
|
||||
WebDAV configuration schema.
|
||||
|
||||
Please do not edit this file. To add configuration sections to the schema,
|
||||
put them in .xml files similar to this one, in this directory. They will
|
||||
be picked up automatically at application pool startup.
|
||||
|
||||
-->
|
||||
|
||||
<configSchema>
|
||||
|
||||
<!--
|
||||
|
||||
These settings are always access from the top-level
|
||||
<system.webServer/webdav> section.
|
||||
|
||||
-->
|
||||
|
||||
<sectionSchema name="system.webServer/webdav/globalSettings">
|
||||
|
||||
<element name="propertyStores">
|
||||
<collection addElement="add" allowUnrecognizedAttributes="true">
|
||||
<attribute name="name" type="string" required="true" isUniqueKey="true" />
|
||||
<attribute name="image" type="string" required="true" expanded="true" />
|
||||
<attribute name="image32" type="string" expanded="true" />
|
||||
</collection>
|
||||
</element>
|
||||
|
||||
<element name="lockStores">
|
||||
<collection addElement="add" allowUnrecognizedAttributes="true">
|
||||
<attribute name="name" type="string" required="true" isUniqueKey="true" />
|
||||
<attribute name="image" type="string" required="true" expanded="true" />
|
||||
<attribute name="image32" type="string" expanded="true" />
|
||||
</collection>
|
||||
</element>
|
||||
|
||||
</sectionSchema>
|
||||
|
||||
|
||||
<!--
|
||||
|
||||
These settings are always accessed using a query path similar
|
||||
to "MACHINE/WEBROOT/APPHOST/{sitename}". Thus, there is no
|
||||
inheritance from lower levels in the URI hierarchy.
|
||||
|
||||
-->
|
||||
|
||||
<sectionSchema name="system.webServer/webdav/authoring">
|
||||
|
||||
<attribute name="enabled" type="bool" defaultValue="false" />
|
||||
|
||||
<attribute name="requireSsl" type="bool" defaultValue="false" />
|
||||
|
||||
<attribute name="compatFlags" type="flags" defaultValue="MsAuthorVia, MultiProp, CompactXml, IsHidden, IsCollection">
|
||||
<flag name="None" value="0" />
|
||||
<flag name="MsAuthorVia" value="1" />
|
||||
<flag name="MultiProp" value="2" />
|
||||
<flag name="CompactXml" value="4" />
|
||||
<flag name="IsHidden" value="8" />
|
||||
<flag name="IsCollection" value="16" />
|
||||
</attribute>
|
||||
|
||||
<attribute name="maxAllowedXmlRequestLength" type="uint" defaultValue="1000000" />
|
||||
|
||||
<element name="fileSystem">
|
||||
<attribute name="allowHiddenFiles" type="bool" defaultValue="false" />
|
||||
<attribute name="useTransactionalIo" type="bool" defaultValue="false" />
|
||||
<attribute name="hideChildVirtualDirectories" type="bool" defaultValue="false" />
|
||||
</element>
|
||||
|
||||
<element name="properties">
|
||||
<attribute name="allowAnonymousPropfind" type="bool" defaultValue="false" />
|
||||
<attribute name="allowInfinitePropfindDepth" type="bool" defaultValue="false" />
|
||||
<attribute name="allowCustomProperties" type="bool" defaultValue="true" />
|
||||
<collection addElement="add" removeElement="remove" clearElement="clear" allowUnrecognizedAttributes="true">
|
||||
<attribute name="xmlNamespace" type="string" isUniqueKey="true" required="true" validationType="nonEmptyString" />
|
||||
<attribute name="propertyStore" type="string" required="true" validationType="nonEmptyString" />
|
||||
</collection>
|
||||
</element>
|
||||
|
||||
<element name="locks" allowUnrecognizedAttributes="true">
|
||||
<attribute name="enabled" type="bool" defaultValue="false" />
|
||||
<attribute name="lockStore" type="string" />
|
||||
<attribute name="requireLockForWriting" type="bool" defaultValue="false" />
|
||||
</element>
|
||||
|
||||
</sectionSchema>
|
||||
|
||||
|
||||
<!--
|
||||
|
||||
These settings are always accessed using a URI-based query
|
||||
path similar to "MACHINE/WEBROOT/APPHOST/{sitename}/{uri}".
|
||||
Settings are inherited from lower levels in the URI hierarchy.
|
||||
|
||||
-->
|
||||
|
||||
<sectionSchema name="system.webServer/webdav/authoringRules">
|
||||
|
||||
<attribute name="defaultAccess" type="flags" defaultValue="None">
|
||||
<flag name="None" value="0" />
|
||||
<flag name="Read" value="1" />
|
||||
<flag name="Write" value="2" />
|
||||
<flag name="Source" value="16" />
|
||||
</attribute>
|
||||
<attribute name="allowNonMimeMapFiles" type="bool" defaultValue="true" />
|
||||
<attribute name="defaultMimeType" type="string" defaultValue="application/octet-stream" />
|
||||
<collection addElement="add" clearElement="clear" removeElement="remove">
|
||||
<attribute name="users" type="string" isCombinedKey="true" />
|
||||
<attribute name="roles" type="string" isCombinedKey="true" />
|
||||
<attribute name="path" type="string" isCombinedKey="true" validationType="nonEmptyString" />
|
||||
<attribute name="access" type="flags" defaultValue="Read">
|
||||
<flag name="None" value="0" />
|
||||
<flag name="Read" value="1" />
|
||||
<flag name="Write" value="2" />
|
||||
<flag name="Source" value="16" />
|
||||
</attribute>
|
||||
</collection>
|
||||
|
||||
</sectionSchema>
|
||||
|
||||
</configSchema>
|
||||
|
18
IISExpress/config/schema/dbmanager_schema.xml
Normal file
18
IISExpress/config/schema/dbmanager_schema.xml
Normal file
|
@ -0,0 +1,18 @@
|
|||
<configSchema>
|
||||
<sectionSchema name="system.webServer/management/dbManager">
|
||||
<attribute name="allowClientConnectionStrings" type="bool" defaultValue="true"/>
|
||||
<element name="DBProviders">
|
||||
<collection addElement="provider">
|
||||
<attribute name="name" type="string" required="true" isUniqueKey="true" />
|
||||
<attribute name="providerName" type="string" required="true"/>
|
||||
<attribute name="type" type="string" required="true"/>
|
||||
<element name="databaseBackup">
|
||||
<attribute name="backupEnabled" type="bool" defaultValue="false"/>
|
||||
<attribute name="restoreEnabled" type="bool" defaultValue="false"/>
|
||||
<attribute name="customBackupType" type="string" />
|
||||
<attribute name="backupPath" type="string" />
|
||||
</element>
|
||||
</collection>
|
||||
</element>
|
||||
</sectionSchema>
|
||||
</configSchema>
|
264
IISExpress/config/schema/rewrite_schema.xml
Normal file
264
IISExpress/config/schema/rewrite_schema.xml
Normal file
|
@ -0,0 +1,264 @@
|
|||
<!--
|
||||
|
||||
IIS URL Rewrite configuration schema.
|
||||
|
||||
** Please DO NOT edit this file yourself. **
|
||||
|
||||
If you want to add configuration sections to the schema, you may place
|
||||
them in .xml files similar to this one, in this directory. They will be
|
||||
picked up automatically on startup.
|
||||
|
||||
-->
|
||||
|
||||
<configSchema>
|
||||
<sectionSchema name="system.webServer/rewrite/globalRules">
|
||||
<collection addElement="rule" clearElement="clear" removeElement="remove">
|
||||
<attribute name="name" type="string" required="true" isUniqueKey="true"/>
|
||||
<attribute name="enabled" type="bool" defaultValue="true"/>
|
||||
<attribute name="patternSyntax" type="enum" defaultValue="ECMAScript">
|
||||
<enum name="ECMAScript" value="0"/>
|
||||
<enum name="Wildcard" value="1"/>
|
||||
<enum name="ExactMatch" value="2"/>
|
||||
</attribute>
|
||||
<attribute name="stopProcessing" type="bool" defaultValue="false"/>
|
||||
<element name="match">
|
||||
<attribute name="url" type="string" validationType="nonEmptyString"/>
|
||||
<attribute name="ignoreCase" type="bool" defaultValue="true"/>
|
||||
<attribute name="negate" type="bool" defaultValue="false"/>
|
||||
</element>
|
||||
<element name="conditions">
|
||||
<attribute name="logicalGrouping" type="enum" defaultValue="MatchAll">
|
||||
<enum name="MatchAll" value="0"/>
|
||||
<enum name="MatchAny" value="1"/>
|
||||
</attribute>
|
||||
<attribute name="trackAllCaptures" type="bool" defaultValue="false" />
|
||||
<collection addElement="add">
|
||||
<attribute name="input" type="string" isCombinedKey="true"/>
|
||||
<attribute name="matchType" type="enum" defaultValue="Pattern" isCombinedKey="true">
|
||||
<enum name="Pattern" value="0"/>
|
||||
</attribute>
|
||||
<attribute name="pattern" type="string" isCombinedKey="true"/>
|
||||
<attribute name="ignoreCase" type="bool" defaultValue="true" isCombinedKey="true"/>
|
||||
<attribute name="negate" type="bool" defaultValue="false" isCombinedKey="true"/>
|
||||
</collection>
|
||||
</element>
|
||||
<element name="serverVariables">
|
||||
<collection addElement="set">
|
||||
<attribute name="name" type="string" required="true" isUniqueKey="true" validationType="requireTrimmedString"/>
|
||||
<attribute name="value" type="string" />
|
||||
<attribute name="replace" type="bool" defaultValue="true" />
|
||||
</collection>
|
||||
</element>
|
||||
<element name="action">
|
||||
<attribute name="type" type="enum" defaultValue="None">
|
||||
<enum name="None" value="0"/>
|
||||
<enum name="Rewrite" value="1"/>
|
||||
<enum name="Redirect" value="2"/>
|
||||
<enum name="CustomResponse" value="3"/>
|
||||
<enum name="AbortRequest" value="4"/>
|
||||
</attribute>
|
||||
<attribute name="url" type="string" validationType="requireTrimmedString"/>
|
||||
<attribute name="appendQueryString" type="bool" defaultValue="true"/>
|
||||
<attribute name="redirectType" type="enum" defaultValue="Permanent">
|
||||
<enum name="Permanent" value="301"/>
|
||||
<enum name="Found" value="302"/>
|
||||
<enum name="SeeOther" value="303"/>
|
||||
<enum name="Temporary" value="307"/>
|
||||
</attribute>
|
||||
<attribute name="statusCode" type="uint" validationType="integerRange" validationParameter="300,307,exclude" defaultValue="0"/>
|
||||
<attribute name="subStatusCode" type="uint" validationType="integerRange" validationParameter="0,999" defaultValue="0"/>
|
||||
<attribute name="statusReason" type="string"/>
|
||||
<attribute name="statusDescription" type="string"/>
|
||||
</element>
|
||||
</collection>
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.webServer/rewrite/allowedServerVariables">
|
||||
<collection addElement="add" clearElement="clear" removeElement="remove">
|
||||
<attribute name="name" type="string" required="true" isUniqueKey="true"/>
|
||||
</collection>
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.webServer/rewrite/rules">
|
||||
<collection addElement="rule" clearElement="clear" removeElement="remove">
|
||||
<attribute name="name" type="string" required="true" isUniqueKey="true"/>
|
||||
<attribute name="enabled" type="bool" defaultValue="true"/>
|
||||
<attribute name="patternSyntax" type="enum" defaultValue="ECMAScript">
|
||||
<enum name="ECMAScript" value="0"/>
|
||||
<enum name="Wildcard" value="1"/>
|
||||
<enum name="ExactMatch" value="2"/>
|
||||
</attribute>
|
||||
<attribute name="stopProcessing" type="bool" defaultValue="false"/>
|
||||
<element name="match">
|
||||
<attribute name="url" type="string" validationType="nonEmptyString"/>
|
||||
<attribute name="ignoreCase" type="bool" defaultValue="true"/>
|
||||
<attribute name="negate" type="bool" defaultValue="false"/>
|
||||
</element>
|
||||
<element name="conditions">
|
||||
<attribute name="logicalGrouping" type="enum" defaultValue="MatchAll">
|
||||
<enum name="MatchAll" value="0"/>
|
||||
<enum name="MatchAny" value="1"/>
|
||||
</attribute>
|
||||
<attribute name="trackAllCaptures" type="bool" defaultValue="false" />
|
||||
<collection addElement="add">
|
||||
<attribute name="input" type="string"/>
|
||||
<attribute name="matchType" type="enum" defaultValue="Pattern">
|
||||
<enum name="Pattern" value="0"/>
|
||||
<enum name="IsFile" value="1"/>
|
||||
<enum name="IsDirectory" value="2"/>
|
||||
</attribute>
|
||||
<attribute name="pattern" type="string"/>
|
||||
<attribute name="ignoreCase" type="bool" defaultValue="true"/>
|
||||
<attribute name="negate" type="bool" defaultValue="false"/>
|
||||
</collection>
|
||||
</element>
|
||||
<element name="serverVariables">
|
||||
<collection addElement="set">
|
||||
<attribute name="name" type="string" required="true" isUniqueKey="true" validationType="requireTrimmedString"/>
|
||||
<attribute name="value" type="string" />
|
||||
<attribute name="replace" type="bool" defaultValue="true" />
|
||||
</collection>
|
||||
</element>
|
||||
<element name="action">
|
||||
<attribute name="type" type="enum" defaultValue="None">
|
||||
<enum name="None" value="0"/>
|
||||
<enum name="Rewrite" value="1"/>
|
||||
<enum name="Redirect" value="2"/>
|
||||
<enum name="CustomResponse" value="3"/>
|
||||
<enum name="AbortRequest" value="4"/>
|
||||
</attribute>
|
||||
<attribute name="url" type="string" validationType="requireTrimmedString"/>
|
||||
<attribute name="appendQueryString" type="bool" defaultValue="true"/>
|
||||
<attribute name="logRewrittenUrl" type="bool" defaultValue="false"/>
|
||||
<attribute name="redirectType" type="enum" defaultValue="Permanent">
|
||||
<enum name="Permanent" value="301"/>
|
||||
<enum name="Found" value="302"/>
|
||||
<enum name="SeeOther" value="303"/>
|
||||
<enum name="Temporary" value="307"/>
|
||||
</attribute>
|
||||
<attribute name="statusCode" type="uint" validationType="integerRange" validationParameter="300,307,exclude"/>
|
||||
<attribute name="subStatusCode" type="uint" validationType="integerRange" validationParameter="0,999" defaultValue="0"/>
|
||||
<attribute name="statusReason" type="string"/>
|
||||
<attribute name="statusDescription" type="string"/>
|
||||
</element>
|
||||
</collection>
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.webServer/rewrite/outboundRules">
|
||||
<attribute name="rewriteBeforeCache" type="bool" defaultValue="false" />
|
||||
|
||||
<element name="customTags">
|
||||
<collection addElement="tags" clearElement="clear" removeElement="remove">
|
||||
<attribute name="name" type="string" required="true" isUniqueKey="true"/>
|
||||
<collection addElement="tag" clearElement="clear" removeElement="remove">
|
||||
<attribute name="name" type="string" required="true" isCombinedKey="true" validationType="nonEmptyString" />
|
||||
<attribute name="attribute" type="string" required="true" isCombinedKey="true" validationType="nonEmptyString"/>
|
||||
</collection>
|
||||
</collection>
|
||||
</element>
|
||||
|
||||
<element name="preConditions">
|
||||
<collection addElement="preCondition" clearElement="clear" removeElement="remove">
|
||||
<attribute name="name" type="string" required="true" isUniqueKey="true"/>
|
||||
<attribute name="logicalGrouping" type="enum" defaultValue="MatchAll">
|
||||
<enum name="MatchAll" value="0"/>
|
||||
<enum name="MatchAny" value="1"/>
|
||||
</attribute>
|
||||
<attribute name="patternSyntax" type="enum" defaultValue="ECMAScript">
|
||||
<enum name="ECMAScript" value="0"/>
|
||||
<enum name="Wildcard" value="1"/>
|
||||
<enum name="ExactMatch" value="2"/>
|
||||
</attribute>
|
||||
<collection addElement="add">
|
||||
<attribute name="input" type="string" isCombinedKey="true"/>
|
||||
<attribute name="matchType" type="enum" defaultValue="Pattern" isCombinedKey="true">
|
||||
<enum name="Pattern" value="0" isCombinedKey="true"/>
|
||||
</attribute>
|
||||
<attribute name="pattern" type="string" isCombinedKey="true"/>
|
||||
<attribute name="ignoreCase" type="bool" defaultValue="true" isCombinedKey="true"/>
|
||||
<attribute name="negate" type="bool" defaultValue="false" isCombinedKey="true"/>
|
||||
</collection>
|
||||
</collection>
|
||||
</element>
|
||||
|
||||
<collection addElement="rule" clearElement="clear" removeElement="remove">
|
||||
<attribute name="name" type="string" required="true" isUniqueKey="true"/>
|
||||
<attribute name="preCondition" type="string"/>
|
||||
<attribute name="enabled" type="bool" defaultValue="true"/>
|
||||
<attribute name="patternSyntax" type="enum" defaultValue="ECMAScript">
|
||||
<enum name="ECMAScript" value="0"/>
|
||||
<enum name="Wildcard" value="1"/>
|
||||
<enum name="ExactMatch" value="2"/>
|
||||
</attribute>
|
||||
<attribute name="stopProcessing" type="bool" defaultValue="false"/>
|
||||
<element name="match">
|
||||
<attribute name="filterByTags" type="flags" default="None">
|
||||
<flag name="None" value="0"/>
|
||||
<flag name="A" value="1"/> <!--href-->
|
||||
<flag name="Area" value="2"/> <!--href-->
|
||||
<flag name="Base" value="4"/> <!--href-->
|
||||
<flag name="Form" value="8"/> <!--action-->
|
||||
<flag name="Frame" value="16"/> <!--src,longdesc-->
|
||||
<flag name="Head" value="32"/> <!--profile-->
|
||||
<flag name="IFrame" value="64"/> <!--src,longdesc-->
|
||||
<flag name="Img" value="128"/> <!--src,longdesc,usemap-->
|
||||
<flag name="Input" value="256"/> <!--src,usemap-->
|
||||
<flag name="Link" value="512"/> <!--href-->
|
||||
<flag name="Script" value="1024"/> <!--src-->
|
||||
<flag name="CustomTags" value="32768"/> <!--Use filter attribute-->
|
||||
</attribute>
|
||||
<attribute name="customTags" type="string"/>
|
||||
<attribute name="serverVariable" type="string" />
|
||||
<attribute name="pattern" type="string"/>
|
||||
<attribute name="occurrences" type="int64" defaultValue="0"/>
|
||||
<attribute name="ignoreCase" type="bool" defaultValue="true"/>
|
||||
<attribute name="negate" type="bool" defaultValue="false"/>
|
||||
</element>
|
||||
<element name="conditions">
|
||||
<attribute name="logicalGrouping" type="enum" defaultValue="MatchAll">
|
||||
<enum name="MatchAll" value="0"/>
|
||||
<enum name="MatchAny" value="1"/>
|
||||
</attribute>
|
||||
<attribute name="trackAllCaptures" type="bool" defaultValue="true" />
|
||||
<collection addElement="add">
|
||||
<attribute name="input" type="string" isCombinedKey="true"/>
|
||||
<attribute name="matchType" type="enum" defaultValue="Pattern" isCombinedKey="true">
|
||||
<enum name="Pattern" value="0"/>
|
||||
</attribute>
|
||||
<attribute name="pattern" type="string" isCombinedKey="true"/>
|
||||
<attribute name="ignoreCase" type="bool" defaultValue="true" isCombinedKey="true"/>
|
||||
<attribute name="negate" type="bool" defaultValue="false" isCombinedKey="true"/>
|
||||
</collection>
|
||||
</element>
|
||||
<element name="action">
|
||||
<attribute name="type" type="enum" defaultValue="None">
|
||||
<enum name="None" value="0"/>
|
||||
<enum name="Rewrite" value="1"/>
|
||||
</attribute>
|
||||
<attribute name="value" type="string" />
|
||||
<attribute name="replace" type="bool" defaultValue="true"/>
|
||||
</element>
|
||||
</collection>
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.webServer/rewrite/providers">
|
||||
<collection addElement="provider" clearElement="clear" removeElement="remove">
|
||||
<attribute name="name" type="string" required="true" isUniqueKey="true" validationType="requireTrimmedString"/>
|
||||
<attribute name="type" type="string" required="true" validationType="requireTrimmedString" />
|
||||
<element name="settings">
|
||||
<collection addElement="add" clearElement="clear" removeElement="remove">
|
||||
<attribute name="key" type="string" required="true" isUniqueKey="true" validationType="nonEmptyString" />
|
||||
<attribute name="value" type="string" />
|
||||
<attribute name="encryptedValue" type="string" encrypted="true" defaultValue="[enc:AesProvider::enc]" />
|
||||
</collection>
|
||||
</element>
|
||||
</collection>
|
||||
</sectionSchema>
|
||||
<sectionSchema name="system.webServer/rewrite/rewriteMaps">
|
||||
<collection addElement="rewriteMap" clearElement="clear" removeElement="remove">
|
||||
<attribute name="name" type="string" required="true" isUniqueKey="true" validationType="requireTrimmedString"/>
|
||||
<attribute name="defaultValue" type="string"/>
|
||||
<attribute name="ignoreCase" type="bool" defaultValue="true"/>
|
||||
<collection addElement="add" clearElement="clear" removeElement="remove">
|
||||
<attribute name="key" type="string" required="true" caseSensitive="true" isUniqueKey="true"/>
|
||||
<attribute name="value" type="string"/>
|
||||
</collection>
|
||||
</collection>
|
||||
</sectionSchema>
|
||||
</configSchema>
|
162
IISExpress/config/schema/rscaext.xml
Normal file
162
IISExpress/config/schema/rscaext.xml
Normal file
|
@ -0,0 +1,162 @@
|
|||
<configSchema>
|
||||
|
||||
<sectionSchema name="system.applicationHost/sites">
|
||||
<collection addElement="site">
|
||||
<attribute name="state" type="enum" extension="Microsoft.ApplicationHost.RscaExtension">
|
||||
<enum name="Starting" value="0" />
|
||||
<enum name="Started" value="1" />
|
||||
<enum name="Stopping" value="2" />
|
||||
<enum name="Stopped" value="3" />
|
||||
<enum name="Unknown" value="4" />
|
||||
</attribute>
|
||||
<method name="Start" extension="Microsoft.ApplicationHost.RscaExtension" />
|
||||
<method name="Stop" extension="Microsoft.ApplicationHost.RscaExtension" />
|
||||
<element name="bindings">
|
||||
<collection addElement="binding" clearElement="clear">
|
||||
<attribute name="isDsMapperEnabled" type="bool" extension="Microsoft.ApplicationHost.RscaExtension" />
|
||||
<attribute name="certificateHash" type="string" extension="Microsoft.ApplicationHost.RscaExtension" />
|
||||
<attribute name="certificateStoreName" type="string" extension="Microsoft.ApplicationHost.RscaExtension" />
|
||||
<method name="EnableDsMapper" extension="Microsoft.ApplicationHost.RscaExtension" />
|
||||
<method name="DisableDsMapper" extension="Microsoft.ApplicationHost.RscaExtension" />
|
||||
<method name="AddSslCertificate" extension="Microsoft.ApplicationHost.RscaExtension">
|
||||
<inputElement>
|
||||
<attribute name="certificateHash" type="string" />
|
||||
<attribute name="certificateStoreName" type="string" defaultValue="MY" />
|
||||
</inputElement>
|
||||
</method>
|
||||
<method name="RemoveSslCertificate" extension="Microsoft.ApplicationHost.RscaExtension" />
|
||||
</collection>
|
||||
</element>
|
||||
</collection>
|
||||
</sectionSchema>
|
||||
|
||||
<sectionSchema name="system.applicationHost/applicationPools">
|
||||
<collection addElement="add">
|
||||
<attribute name="state" type="enum" extension="Microsoft.ApplicationHost.RscaExtension">
|
||||
<enum name="Starting" value="0" />
|
||||
<enum name="Started" value="1" />
|
||||
<enum name="Stopping" value="2" />
|
||||
<enum name="Stopped" value="3" />
|
||||
<enum name="Unknown" value="4" />
|
||||
</attribute>
|
||||
<attribute name="applicationPoolSid" type="string" extension="Microsoft.ApplicationHost.RscaExtension" />
|
||||
<method name="Start" extension="Microsoft.ApplicationHost.RscaExtension" />
|
||||
<method name="Stop" extension="Microsoft.ApplicationHost.RscaExtension" />
|
||||
<method name="Recycle" extension="Microsoft.ApplicationHost.RscaExtension" />
|
||||
<element name="workerProcesses" extension="Microsoft.ApplicationHost.RscaExtension">
|
||||
<collection addElement="workerProcess">
|
||||
<attribute name="processId" type="uint" isUniqueKey="true" />
|
||||
<attribute name="guid" type="string" />
|
||||
<attribute name="state" type="enum">
|
||||
<enum name="Starting" value="0" />
|
||||
<enum name="Running" value="1" />
|
||||
<enum name="Stopping" value="2" />
|
||||
<enum name="Unknown" value="3" />
|
||||
</attribute>
|
||||
<attribute name="appPoolName" type="string" />
|
||||
<method name="GetRequests" extension="Microsoft.ApplicationHost.RscaExtension">
|
||||
<inputElement>
|
||||
<attribute name="timeElapsedFilter" type="uint" defaultValue="0" />
|
||||
</inputElement>
|
||||
<outputElement>
|
||||
<collection addElement="request">
|
||||
<attribute name="requestId" type="string" />
|
||||
<attribute name="connectionId" type="string" />
|
||||
<attribute name="verb" type="string" />
|
||||
<attribute name="url" type="string" />
|
||||
<attribute name="siteId" type="uint" />
|
||||
<attribute name="localPort" type="uint" />
|
||||
<attribute name="hostName" type="string" />
|
||||
<attribute name="clientIpAddress" type="string" />
|
||||
<attribute name="timeElapsed" type="uint" />
|
||||
<attribute name="pipeLineState" type="uint" />
|
||||
<attribute name="timeInState" type="uint" />
|
||||
<attribute name="currentModule" type="string" />
|
||||
<attribute name="timeInModule" type="uint" />
|
||||
<attribute name="localIpAddress" type="string" />
|
||||
</collection>
|
||||
</outputElement>
|
||||
</method>
|
||||
<element name="appDomains" extension="Microsoft.ApplicationHost.RscaExtension">
|
||||
<collection addElement="appDomain">
|
||||
<attribute name="id" type="string" />
|
||||
<attribute name="virtualPath" type="string" />
|
||||
<attribute name="physicalPath" type="string" />
|
||||
<attribute name="siteId" type="uint" />
|
||||
<attribute name="idle" type="uint" />
|
||||
<method name="Unload" extension="Microsoft.ApplicationHost.RscaExtension" />
|
||||
</collection>
|
||||
</element>
|
||||
<method name="GetCustomData" extension="Microsoft.ApplicationHost.RscaExtension">
|
||||
<inputElement>
|
||||
<attribute name="guidIdOfFunctionCall" type="string" />
|
||||
<attribute name="parametersOfFunctionCall" type="string" />
|
||||
</inputElement>
|
||||
<outputElement>
|
||||
<attribute name="data" type="string" />
|
||||
</outputElement>
|
||||
</method>
|
||||
</collection>
|
||||
</element>
|
||||
</collection>
|
||||
<element name="workerProcesses" extension="Microsoft.ApplicationHost.RscaExtension">
|
||||
<collection addElement="workerProcess">
|
||||
<attribute name="processId" type="uint" isUniqueKey="true" />
|
||||
<attribute name="guid" type="string" />
|
||||
<attribute name="state" type="enum">
|
||||
<enum name="Starting" value="0" />
|
||||
<enum name="Running" value="1" />
|
||||
<enum name="Stopping" value="2" />
|
||||
<enum name="Unknown" value="3" />
|
||||
</attribute>
|
||||
<attribute name="appPoolName" type="string" />
|
||||
<method name="GetRequests" extension="Microsoft.ApplicationHost.RscaExtension">
|
||||
<inputElement>
|
||||
<attribute name="timeElapsedFilter" type="uint" defaultValue="0" />
|
||||
</inputElement>
|
||||
<outputElement>
|
||||
<collection addElement="request">
|
||||
<attribute name="requestId" type="string" />
|
||||
<attribute name="connectionId" type="string" />
|
||||
<attribute name="verb" type="string" />
|
||||
<attribute name="url" type="string" />
|
||||
<attribute name="siteId" type="uint" />
|
||||
<attribute name="localPort" type="uint" />
|
||||
<attribute name="hostName" type="string" />
|
||||
<attribute name="clientIpAddress" type="string" />
|
||||
<attribute name="timeElapsed" type="uint" />
|
||||
<attribute name="pipeLineState" type="uint" />
|
||||
<attribute name="timeInState" type="uint" />
|
||||
<attribute name="currentModule" type="string" />
|
||||
<attribute name="timeInModule" type="uint" />
|
||||
<attribute name="localIpAddress" type="string" />
|
||||
</collection>
|
||||
</outputElement>
|
||||
</method>
|
||||
<element name="appDomains" extension="Microsoft.ApplicationHost.RscaExtension">
|
||||
<collection addElement="appDomain">
|
||||
<attribute name="id" type="string" />
|
||||
<attribute name="virtualPath" type="string" />
|
||||
<attribute name="physicalPath" type="string" />
|
||||
<attribute name="siteId" type="uint" />
|
||||
<attribute name="idle" type="uint" />
|
||||
<method name="Unload" extension="Microsoft.ApplicationHost.RscaExtension" />
|
||||
</collection>
|
||||
</element>
|
||||
<method name="GetCustomData" extension="Microsoft.ApplicationHost.RscaExtension">
|
||||
<inputElement>
|
||||
<attribute name="guidIdOfFunctionCall" type="string" />
|
||||
<attribute name="parametersOfFunctionCall" type="string" />
|
||||
</inputElement>
|
||||
<outputElement>
|
||||
<attribute name="data" type="string" />
|
||||
</outputElement>
|
||||
</method>
|
||||
</collection>
|
||||
</element>
|
||||
<element name="applicationPoolsControl" extension="Microsoft.ApplicationHost.RscaExtension">
|
||||
<method name="FlushTokenCache" extension="Microsoft.ApplicationHost.RscaExtension"/>
|
||||
</element>
|
||||
</sectionSchema>
|
||||
|
||||
</configSchema>
|
2755
IISExpress/config/schema/xhtml1-transitional.xsd
Normal file
2755
IISExpress/config/schema/xhtml1-transitional.xsd
Normal file
File diff suppressed because it is too large
Load diff
BIN
IISExpress/custerr.dll
Normal file
BIN
IISExpress/custerr.dll
Normal file
Binary file not shown.
28
IISExpress/custerr/en-us/401-1.htm
Normal file
28
IISExpress/custerr/en-us/401-1.htm
Normal file
|
@ -0,0 +1,28 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>401.1 - Unauthorized: Access is denied due to invalid credentials.</title>
|
||||
<style type="text/css">
|
||||
<!--
|
||||
body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;}
|
||||
fieldset{padding:0 15px 10px 15px;}
|
||||
h1{font-size:2.4em;margin:0;color:#FFF;}
|
||||
h2{font-size:1.7em;margin:0;color:#CC0000;}
|
||||
h3{font-size:1.2em;margin:10px 0 0 0;color:#000000;}
|
||||
#header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:"trebuchet MS", Verdana, sans-serif;color:#FFF;
|
||||
background-color:#555555;}
|
||||
#content{margin:0 0 0 2%;position:relative;}
|
||||
.content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;}
|
||||
-->
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="header"><h1>Server Error</h1></div>
|
||||
<div id="content">
|
||||
<div class="content-container"><fieldset>
|
||||
<h2>401.1 - Unauthorized: Access is denied due to invalid credentials.</h2>
|
||||
<h3>You do not have permission to view this directory or page using the credentials that you supplied.</h3>
|
||||
</fieldset></div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
28
IISExpress/custerr/en-us/401-2.htm
Normal file
28
IISExpress/custerr/en-us/401-2.htm
Normal file
|
@ -0,0 +1,28 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>401.2 - Unauthorized: Access is denied due to server configuration.</title>
|
||||
<style type="text/css">
|
||||
<!--
|
||||
body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;}
|
||||
fieldset{padding:0 15px 10px 15px;}
|
||||
h1{font-size:2.4em;margin:0;color:#FFF;}
|
||||
h2{font-size:1.7em;margin:0;color:#CC0000;}
|
||||
h3{font-size:1.2em;margin:10px 0 0 0;color:#000000;}
|
||||
#header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:"trebuchet MS", Verdana, sans-serif;color:#FFF;
|
||||
background-color:#555555;}
|
||||
#content{margin:0 0 0 2%;position:relative;}
|
||||
.content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;}
|
||||
-->
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="header"><h1>Server Error</h1></div>
|
||||
<div id="content">
|
||||
<div class="content-container"><fieldset>
|
||||
<h2>401.2 - Unauthorized: Access is denied due to server configuration.</h2>
|
||||
<h3>You do not have permission to view this directory or page using the credentials that you supplied because your Web browser is sending a WWW-Authenticate header field that the Web server is not configured to accept.</h3>
|
||||
</fieldset></div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
28
IISExpress/custerr/en-us/401-3.htm
Normal file
28
IISExpress/custerr/en-us/401-3.htm
Normal file
|
@ -0,0 +1,28 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>401.3 - Unauthorized: Access is denied due to an ACL set on the requested resource.</title>
|
||||
<style type="text/css">
|
||||
<!--
|
||||
body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;}
|
||||
fieldset{padding:0 15px 10px 15px;}
|
||||
h1{font-size:2.4em;margin:0;color:#FFF;}
|
||||
h2{font-size:1.7em;margin:0;color:#CC0000;}
|
||||
h3{font-size:1.2em;margin:10px 0 0 0;color:#000000;}
|
||||
#header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:"trebuchet MS", Verdana, sans-serif;color:#FFF;
|
||||
background-color:#555555;}
|
||||
#content{margin:0 0 0 2%;position:relative;}
|
||||
.content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;}
|
||||
-->
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="header"><h1>Server Error</h1></div>
|
||||
<div id="content">
|
||||
<div class="content-container"><fieldset>
|
||||
<h2>401.3 - Unauthorized: Access is denied due to an ACL set on the requested resource.</h2>
|
||||
<h3>You do not have permission to view this directory or page due to the access control list (ACL) that is configured for this resource on the Web server.</h3>
|
||||
</fieldset></div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
28
IISExpress/custerr/en-us/401-4.htm
Normal file
28
IISExpress/custerr/en-us/401-4.htm
Normal file
|
@ -0,0 +1,28 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>401.4 - Unauthorized: Authorization failed by filter installed on the Web server.</title>
|
||||
<style type="text/css">
|
||||
<!--
|
||||
body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;}
|
||||
fieldset{padding:0 15px 10px 15px;}
|
||||
h1{font-size:2.4em;margin:0;color:#FFF;}
|
||||
h2{font-size:1.7em;margin:0;color:#CC0000;}
|
||||
h3{font-size:1.2em;margin:10px 0 0 0;color:#000000;}
|
||||
#header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:"trebuchet MS", Verdana, sans-serif;color:#FFF;
|
||||
background-color:#555555;}
|
||||
#content{margin:0 0 0 2%;position:relative;}
|
||||
.content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;}
|
||||
-->
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="header"><h1>Server Error</h1></div>
|
||||
<div id="content">
|
||||
<div class="content-container"><fieldset>
|
||||
<h2>401.4 - Unauthorized: Authorization failed by filter installed on the Web server.</h2>
|
||||
<h3>You might not have permission to view this directory or page using the credentials that you supplied. The Web server has a filter installed to verify users connecting to the server and it failed to authenticate your credentials.</h3>
|
||||
</fieldset></div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
28
IISExpress/custerr/en-us/401-5.htm
Normal file
28
IISExpress/custerr/en-us/401-5.htm
Normal file
|
@ -0,0 +1,28 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>401.5 - Unauthorized: Authorization failed by an ISAPI/CGI application.</title>
|
||||
<style type="text/css">
|
||||
<!--
|
||||
body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;}
|
||||
fieldset{padding:0 15px 10px 15px;}
|
||||
h1{font-size:2.4em;margin:0;color:#FFF;}
|
||||
h2{font-size:1.7em;margin:0;color:#CC0000;}
|
||||
h3{font-size:1.2em;margin:10px 0 0 0;color:#000000;}
|
||||
#header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:"trebuchet MS", Verdana, sans-serif;color:#FFF;
|
||||
background-color:#555555;}
|
||||
#content{margin:0 0 0 2%;position:relative;}
|
||||
.content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;}
|
||||
-->
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="header"><h1>Server Error</h1></div>
|
||||
<div id="content">
|
||||
<div class="content-container"><fieldset>
|
||||
<h2>401.5 - Unauthorized: Authorization failed by an ISAPI/CGI application.</h2>
|
||||
<h3>The URL you attempted to reach has an ISAPI or CGI application installed that verifies user credentials before proceeding. This application cannot verify your credentials.</h3>
|
||||
</fieldset></div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
28
IISExpress/custerr/en-us/401.htm
Normal file
28
IISExpress/custerr/en-us/401.htm
Normal file
|
@ -0,0 +1,28 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>401 - Unauthorized: Access is denied due to invalid credentials.</title>
|
||||
<style type="text/css">
|
||||
<!--
|
||||
body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;}
|
||||
fieldset{padding:0 15px 10px 15px;}
|
||||
h1{font-size:2.4em;margin:0;color:#FFF;}
|
||||
h2{font-size:1.7em;margin:0;color:#CC0000;}
|
||||
h3{font-size:1.2em;margin:10px 0 0 0;color:#000000;}
|
||||
#header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:"trebuchet MS", Verdana, sans-serif;color:#FFF;
|
||||
background-color:#555555;}
|
||||
#content{margin:0 0 0 2%;position:relative;}
|
||||
.content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;}
|
||||
-->
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="header"><h1>Server Error</h1></div>
|
||||
<div id="content">
|
||||
<div class="content-container"><fieldset>
|
||||
<h2>401 - Unauthorized: Access is denied due to invalid credentials.</h2>
|
||||
<h3>You do not have permission to view this directory or page using the credentials that you supplied.</h3>
|
||||
</fieldset></div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
28
IISExpress/custerr/en-us/403-1.htm
Normal file
28
IISExpress/custerr/en-us/403-1.htm
Normal file
|
@ -0,0 +1,28 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>403.1 - Forbidden: Execute access is denied.</title>
|
||||
<style type="text/css">
|
||||
<!--
|
||||
body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;}
|
||||
fieldset{padding:0 15px 10px 15px;}
|
||||
h1{font-size:2.4em;margin:0;color:#FFF;}
|
||||
h2{font-size:1.7em;margin:0;color:#CC0000;}
|
||||
h3{font-size:1.2em;margin:10px 0 0 0;color:#000000;}
|
||||
#header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:"trebuchet MS", Verdana, sans-serif;color:#FFF;
|
||||
background-color:#555555;}
|
||||
#content{margin:0 0 0 2%;position:relative;}
|
||||
.content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;}
|
||||
-->
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="header"><h1>Server Error</h1></div>
|
||||
<div id="content">
|
||||
<div class="content-container"><fieldset>
|
||||
<h2>403.1 - Forbidden: Execute access is denied.</h2>
|
||||
<h3>You have attempted to execute a CGI, ISAPI, or other executable program from a directory that does not allow programs to be executed.</h3>
|
||||
</fieldset></div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
28
IISExpress/custerr/en-us/403-10.htm
Normal file
28
IISExpress/custerr/en-us/403-10.htm
Normal file
|
@ -0,0 +1,28 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>403.10 - Forbidden: Web server is configured to deny Execute access.</title>
|
||||
<style type="text/css">
|
||||
<!--
|
||||
body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;}
|
||||
fieldset{padding:0 15px 10px 15px;}
|
||||
h1{font-size:2.4em;margin:0;color:#FFF;}
|
||||
h2{font-size:1.7em;margin:0;color:#CC0000;}
|
||||
h3{font-size:1.2em;margin:10px 0 0 0;color:#000000;}
|
||||
#header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:"trebuchet MS", Verdana, sans-serif;color:#FFF;
|
||||
background-color:#555555;}
|
||||
#content{margin:0 0 0 2%;position:relative;}
|
||||
.content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;}
|
||||
-->
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="header"><h1>Server Error</h1></div>
|
||||
<div id="content">
|
||||
<div class="content-container"><fieldset>
|
||||
<h2>403.10 - Forbidden: Web server is configured to deny Execute access.</h2>
|
||||
<h3>You have attempted to execute a CGI, ISAPI, or other executable program from a directory that does not allow programs to be executed.</h3>
|
||||
</fieldset></div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
28
IISExpress/custerr/en-us/403-11.htm
Normal file
28
IISExpress/custerr/en-us/403-11.htm
Normal file
|
@ -0,0 +1,28 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>403.11 - Forbidden: Password has been changed.</title>
|
||||
<style type="text/css">
|
||||
<!--
|
||||
body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;}
|
||||
fieldset{padding:0 15px 10px 15px;}
|
||||
h1{font-size:2.4em;margin:0;color:#FFF;}
|
||||
h2{font-size:1.7em;margin:0;color:#CC0000;}
|
||||
h3{font-size:1.2em;margin:10px 0 0 0;color:#000000;}
|
||||
#header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:"trebuchet MS", Verdana, sans-serif;color:#FFF;
|
||||
background-color:#555555;}
|
||||
#content{margin:0 0 0 2%;position:relative;}
|
||||
.content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;}
|
||||
-->
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="header"><h1>Server Error</h1></div>
|
||||
<div id="content">
|
||||
<div class="content-container"><fieldset>
|
||||
<h2>403.11 - Forbidden: Password has been changed.</h2>
|
||||
<h3>You do not have permission to view this directory or page using the credentials that you supplied.</h3>
|
||||
</fieldset></div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
28
IISExpress/custerr/en-us/403-12.htm
Normal file
28
IISExpress/custerr/en-us/403-12.htm
Normal file
|
@ -0,0 +1,28 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>403.12 - Forbidden: Client certificate is denied access by the server certificate mapper.</title>
|
||||
<style type="text/css">
|
||||
<!--
|
||||
body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;}
|
||||
fieldset{padding:0 15px 10px 15px;}
|
||||
h1{font-size:2.4em;margin:0;color:#FFF;}
|
||||
h2{font-size:1.7em;margin:0;color:#CC0000;}
|
||||
h3{font-size:1.2em;margin:10px 0 0 0;color:#000000;}
|
||||
#header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:"trebuchet MS", Verdana, sans-serif;color:#FFF;
|
||||
background-color:#555555;}
|
||||
#content{margin:0 0 0 2%;position:relative;}
|
||||
.content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;}
|
||||
-->
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="header"><h1>Server Error</h1></div>
|
||||
<div id="content">
|
||||
<div class="content-container"><fieldset>
|
||||
<h2>403.12 - Forbidden: Client certificate is denied access by the server certificate mapper.</h2>
|
||||
<h3>The account to which your client certificate is mapped on the Web server has been denied access to this Web site. A Secure Sockets Layer (SSL) client certificate is used for identifying you as a valid user of the resource.</h3>
|
||||
</fieldset></div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
28
IISExpress/custerr/en-us/403-13.htm
Normal file
28
IISExpress/custerr/en-us/403-13.htm
Normal file
|
@ -0,0 +1,28 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>403.13 - Forbidden: Client certificate has been revoked on the Web server.</title>
|
||||
<style type="text/css">
|
||||
<!--
|
||||
body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;}
|
||||
fieldset{padding:0 15px 10px 15px;}
|
||||
h1{font-size:2.4em;margin:0;color:#FFF;}
|
||||
h2{font-size:1.7em;margin:0;color:#CC0000;}
|
||||
h3{font-size:1.2em;margin:10px 0 0 0;color:#000000;}
|
||||
#header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:"trebuchet MS", Verdana, sans-serif;color:#FFF;
|
||||
background-color:#555555;}
|
||||
#content{margin:0 0 0 2%;position:relative;}
|
||||
.content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;}
|
||||
-->
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="header"><h1>Server Error</h1></div>
|
||||
<div id="content">
|
||||
<div class="content-container"><fieldset>
|
||||
<h2>403.13 - Forbidden: Client certificate has been revoked on the Web server.</h2>
|
||||
<h3>Your client certificate was revoked, or the revocation server could not be contacted. A Secure Sockets Layer (SSL) client certificate is used for identifying you as a valid user of the resource.</h3>
|
||||
</fieldset></div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
28
IISExpress/custerr/en-us/403-14.htm
Normal file
28
IISExpress/custerr/en-us/403-14.htm
Normal file
|
@ -0,0 +1,28 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>403.14 - Forbidden: Directory listing denied.</title>
|
||||
<style type="text/css">
|
||||
<!--
|
||||
body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;}
|
||||
fieldset{padding:0 15px 10px 15px;}
|
||||
h1{font-size:2.4em;margin:0;color:#FFF;}
|
||||
h2{font-size:1.7em;margin:0;color:#CC0000;}
|
||||
h3{font-size:1.2em;margin:10px 0 0 0;color:#000000;}
|
||||
#header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:"trebuchet MS", Verdana, sans-serif;color:#FFF;
|
||||
background-color:#555555;}
|
||||
#content{margin:0 0 0 2%;position:relative;}
|
||||
.content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;}
|
||||
-->
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="header"><h1>Server Error</h1></div>
|
||||
<div id="content">
|
||||
<div class="content-container"><fieldset>
|
||||
<h2>403.14 - Forbidden: Directory listing denied.</h2>
|
||||
<h3>The Web server is configured not to display a list of the contents of this directory.</h3>
|
||||
</fieldset></div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
28
IISExpress/custerr/en-us/403-15.htm
Normal file
28
IISExpress/custerr/en-us/403-15.htm
Normal file
|
@ -0,0 +1,28 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>403.15 - Forbidden: Client access licenses have exceeded limits on the Web server.</title>
|
||||
<style type="text/css">
|
||||
<!--
|
||||
body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;}
|
||||
fieldset{padding:0 15px 10px 15px;}
|
||||
h1{font-size:2.4em;margin:0;color:#FFF;}
|
||||
h2{font-size:1.7em;margin:0;color:#CC0000;}
|
||||
h3{font-size:1.2em;margin:10px 0 0 0;color:#000000;}
|
||||
#header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:"trebuchet MS", Verdana, sans-serif;color:#FFF;
|
||||
background-color:#555555;}
|
||||
#content{margin:0 0 0 2%;position:relative;}
|
||||
.content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;}
|
||||
-->
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="header"><h1>Server Error</h1></div>
|
||||
<div id="content">
|
||||
<div class="content-container"><fieldset>
|
||||
<h2>403.15 - Forbidden: Client access licenses have exceeded limits on the Web server.</h2>
|
||||
<h3>There are too many people accessing the Web site at this time. The Web server has exceeded its Client Access License limit.</h3>
|
||||
</fieldset></div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
28
IISExpress/custerr/en-us/403-16.htm
Normal file
28
IISExpress/custerr/en-us/403-16.htm
Normal file
|
@ -0,0 +1,28 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>403.16 - Forbidden: Client certificate is ill-formed or is not trusted by the Web server.</title>
|
||||
<style type="text/css">
|
||||
<!--
|
||||
body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;}
|
||||
fieldset{padding:0 15px 10px 15px;}
|
||||
h1{font-size:2.4em;margin:0;color:#FFF;}
|
||||
h2{font-size:1.7em;margin:0;color:#CC0000;}
|
||||
h3{font-size:1.2em;margin:10px 0 0 0;color:#000000;}
|
||||
#header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:"trebuchet MS", Verdana, sans-serif;color:#FFF;
|
||||
background-color:#555555;}
|
||||
#content{margin:0 0 0 2%;position:relative;}
|
||||
.content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;}
|
||||
-->
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="header"><h1>Server Error</h1></div>
|
||||
<div id="content">
|
||||
<div class="content-container"><fieldset>
|
||||
<h2>403.16 - Forbidden: Client certificate is ill-formed or is not trusted by the Web server.</h2>
|
||||
<h3>Your client certificate is untrusted or invalid. A Secure Sockets Layer (SSL) client certificate is used for identifying you as a valid user of the resource.</h3>
|
||||
</fieldset></div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
28
IISExpress/custerr/en-us/403-17.htm
Normal file
28
IISExpress/custerr/en-us/403-17.htm
Normal file
|
@ -0,0 +1,28 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>403.17 - Forbidden: Client certificate has expired or is not yet valid.</title>
|
||||
<style type="text/css">
|
||||
<!--
|
||||
body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;}
|
||||
fieldset{padding:0 15px 10px 15px;}
|
||||
h1{font-size:2.4em;margin:0;color:#FFF;}
|
||||
h2{font-size:1.7em;margin:0;color:#CC0000;}
|
||||
h3{font-size:1.2em;margin:10px 0 0 0;color:#000000;}
|
||||
#header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:"trebuchet MS", Verdana, sans-serif;color:#FFF;
|
||||
background-color:#555555;}
|
||||
#content{margin:0 0 0 2%;position:relative;}
|
||||
.content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;}
|
||||
-->
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="header"><h1>Server Error</h1></div>
|
||||
<div id="content">
|
||||
<div class="content-container"><fieldset>
|
||||
<h2>403.17 - Forbidden: Client certificate has expired or is not yet valid.</h2>
|
||||
<h3>Your client certificate has expired or is not yet valid. A Secure Sockets Layer (SSL) client certificate is used for identifying you as a valid user of the resource.</h3>
|
||||
</fieldset></div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
28
IISExpress/custerr/en-us/403-18.htm
Normal file
28
IISExpress/custerr/en-us/403-18.htm
Normal file
|
@ -0,0 +1,28 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>403.18 - Forbidden: Cannot execute requested URL in the current application pool.</title>
|
||||
<style type="text/css">
|
||||
<!--
|
||||
body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;}
|
||||
fieldset{padding:0 15px 10px 15px;}
|
||||
h1{font-size:2.4em;margin:0;color:#FFF;}
|
||||
h2{font-size:1.7em;margin:0;color:#CC0000;}
|
||||
h3{font-size:1.2em;margin:10px 0 0 0;color:#000000;}
|
||||
#header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:"trebuchet MS", Verdana, sans-serif;color:#FFF;
|
||||
background-color:#555555;}
|
||||
#content{margin:0 0 0 2%;position:relative;}
|
||||
.content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;}
|
||||
-->
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="header"><h1>Server Error</h1></div>
|
||||
<div id="content">
|
||||
<div class="content-container"><fieldset>
|
||||
<h2>403.18 - Forbidden: Cannot execute requested URL in the current application pool.</h2>
|
||||
<h3>The specified request cannot be executed in the application pool that is configured for this resource on the Web server.</h3>
|
||||
</fieldset></div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
28
IISExpress/custerr/en-us/403-19.htm
Normal file
28
IISExpress/custerr/en-us/403-19.htm
Normal file
|
@ -0,0 +1,28 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>403.19 - Forbidden: Cannot execute CGIs for the client in this application pool.</title>
|
||||
<style type="text/css">
|
||||
<!--
|
||||
body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;}
|
||||
fieldset{padding:0 15px 10px 15px;}
|
||||
h1{font-size:2.4em;margin:0;color:#FFF;}
|
||||
h2{font-size:1.7em;margin:0;color:#CC0000;}
|
||||
h3{font-size:1.2em;margin:10px 0 0 0;color:#000000;}
|
||||
#header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:"trebuchet MS", Verdana, sans-serif;color:#FFF;
|
||||
background-color:#555555;}
|
||||
#content{margin:0 0 0 2%;position:relative;}
|
||||
.content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;}
|
||||
-->
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="header"><h1>Server Error</h1></div>
|
||||
<div id="content">
|
||||
<div class="content-container"><fieldset>
|
||||
<h2>403.19 - Forbidden: Cannot execute CGIs for the client in this application pool.</h2>
|
||||
<h3>The configured user for this application pool does not have sufficient privileges to execute CGI applications.</h3>
|
||||
</fieldset></div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
28
IISExpress/custerr/en-us/403-2.htm
Normal file
28
IISExpress/custerr/en-us/403-2.htm
Normal file
|
@ -0,0 +1,28 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>403.2 - Forbidden: Read access is denied.</title>
|
||||
<style type="text/css">
|
||||
<!--
|
||||
body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;}
|
||||
fieldset{padding:0 15px 10px 15px;}
|
||||
h1{font-size:2.4em;margin:0;color:#FFF;}
|
||||
h2{font-size:1.7em;margin:0;color:#CC0000;}
|
||||
h3{font-size:1.2em;margin:10px 0 0 0;color:#000000;}
|
||||
#header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:"trebuchet MS", Verdana, sans-serif;color:#FFF;
|
||||
background-color:#555555;}
|
||||
#content{margin:0 0 0 2%;position:relative;}
|
||||
.content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;}
|
||||
-->
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="header"><h1>Server Error</h1></div>
|
||||
<div id="content">
|
||||
<div class="content-container"><fieldset>
|
||||
<h2>403.2 - Forbidden: Read access is denied.</h2>
|
||||
<h3>There is a problem with the page you are looking for and it cannot be displayed. This error can occur if you are trying to display an HTML page that resides in a directory that is configured to allow Execute or Script permissions only.</h3>
|
||||
</fieldset></div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
28
IISExpress/custerr/en-us/403-3.htm
Normal file
28
IISExpress/custerr/en-us/403-3.htm
Normal file
|
@ -0,0 +1,28 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>403.3 - Forbidden: Write access is denied.</title>
|
||||
<style type="text/css">
|
||||
<!--
|
||||
body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;}
|
||||
fieldset{padding:0 15px 10px 15px;}
|
||||
h1{font-size:2.4em;margin:0;color:#FFF;}
|
||||
h2{font-size:1.7em;margin:0;color:#CC0000;}
|
||||
h3{font-size:1.2em;margin:10px 0 0 0;color:#000000;}
|
||||
#header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:"trebuchet MS", Verdana, sans-serif;color:#FFF;
|
||||
background-color:#555555;}
|
||||
#content{margin:0 0 0 2%;position:relative;}
|
||||
.content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;}
|
||||
-->
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="header"><h1>Server Error</h1></div>
|
||||
<div id="content">
|
||||
<div class="content-container"><fieldset>
|
||||
<h2>403.3 - Forbidden: Write access is denied.</h2>
|
||||
<h3>There is a problem saving the page to the Web site. This error can occur if you attempt to upload a file or modify a file in a directory that does not allow Write access.</h3>
|
||||
</fieldset></div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
28
IISExpress/custerr/en-us/403-4.htm
Normal file
28
IISExpress/custerr/en-us/403-4.htm
Normal file
|
@ -0,0 +1,28 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>403.4 - Forbidden: SSL is required to view this resource.</title>
|
||||
<style type="text/css">
|
||||
<!--
|
||||
body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;}
|
||||
fieldset{padding:0 15px 10px 15px;}
|
||||
h1{font-size:2.4em;margin:0;color:#FFF;}
|
||||
h2{font-size:1.7em;margin:0;color:#CC0000;}
|
||||
h3{font-size:1.2em;margin:10px 0 0 0;color:#000000;}
|
||||
#header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:"trebuchet MS", Verdana, sans-serif;color:#FFF;
|
||||
background-color:#555555;}
|
||||
#content{margin:0 0 0 2%;position:relative;}
|
||||
.content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;}
|
||||
-->
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="header"><h1>Server Error</h1></div>
|
||||
<div id="content">
|
||||
<div class="content-container"><fieldset>
|
||||
<h2>403.4 - Forbidden: SSL is required to view this resource.</h2>
|
||||
<h3>The page you are trying to access is secured with Secure Sockets Layer (SSL).</h3>
|
||||
</fieldset></div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue