创建项目

master
Hao 3 years ago
commit a3724f75c6

7
.gitignore vendored

@ -0,0 +1,7 @@
obj
bin
/packages
/.vs
/AMS.Web/Temp
/AMS.Web/App_Data
/AMS.Web/MailSend.Web.csproj.user

@ -0,0 +1,92 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\EntityFramework.6.4.4\build\EntityFramework.props" Condition="Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.props')" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{FC842D9F-55BC-4FD7-A8EE-CDB26656712B}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>AMS.Common</RootNamespace>
<AssemblyName>AMS.Common</AssemblyName>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<HintPath>..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.dll</HintPath>
</Reference>
<Reference Include="EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<HintPath>..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.SqlServer.dll</HintPath>
</Reference>
<Reference Include="ICSharpCode.SharpZipLib, Version=1.3.3.11, Culture=neutral, PublicKeyToken=1b03e6acf1164f73, processorArchitecture=MSIL">
<HintPath>..\packages\SharpZipLib.1.3.3\lib\net45\ICSharpCode.SharpZipLib.dll</HintPath>
</Reference>
<Reference Include="log4net, Version=2.0.14.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
<HintPath>..\packages\log4net.2.0.14\lib\net45\log4net.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Extensions.Logging.Abstractions, Version=2.1.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.Logging.Abstractions.2.1.1\lib\netstandard2.0\Microsoft.Extensions.Logging.Abstractions.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.12.0.2\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="Quartz, Version=3.3.3.0, Culture=neutral, PublicKeyToken=f6b8c98a402cc8a4, processorArchitecture=MSIL">
<HintPath>..\packages\Quartz.3.3.3\lib\net461\Quartz.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System.Configuration" />
<Reference Include="System.Core" />
<Reference Include="System.Runtime.Remoting" />
<Reference Include="System.Web" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="DB\AmsDataContext.cs" />
<Compile Include="Job\ClearTempJob.cs" />
<Compile Include="Job\LogZipJob.cs" />
<Compile Include="Models\Enums.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
<None Include="packages.config" />
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>这台计算机上缺少此项目引用的 NuGet 程序包。使用“NuGet 程序包还原”可下载这些程序包。有关更多信息,请参见 http://go.microsoft.com/fwlink/?LinkID=322105。缺少的文件是 {0}。</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\EntityFramework.6.4.4\build\EntityFramework.props'))" />
<Error Condition="!Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\EntityFramework.6.4.4\build\EntityFramework.targets'))" />
</Target>
<Import Project="..\packages\EntityFramework.6.4.4\build\EntityFramework.targets" Condition="Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.targets')" />
</Project>

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<entityFramework>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
</configuration>

@ -0,0 +1,13 @@
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AMS.Common.DB
{
public class AmsDataContext : DbContext
{
}
}

@ -0,0 +1,55 @@
using log4net;
using Quartz;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using System.Web;
namespace AMS.Common
{
/// <summary>
/// 清理临时文件
/// </summary>
public class ClearTempJob : IJob
{
private ILog logger = LogManager.GetLogger("ClearTempJob");
Task IJob.Execute(IJobExecutionContext context)
{
return Task.Run(() =>
{
var tmpDir = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Temp");
var clearCount = 0;
if (Directory.Exists(tmpDir))
{
var files = Directory.GetFiles(tmpDir);
foreach (string file in files)
{
var fi = new FileInfo(file);
if (fi.LastAccessTime < DateTime.Now.AddDays(-1))
{
try
{
File.Delete(file);
clearCount++;
}
catch (Exception ex)
{
logger.Error(ex.Message);
logger.Error(ex.StackTrace);
}
}
}
}
if (clearCount > 0)
{
logger.Debug($"成功清理临时文件{clearCount}个");
}
});
}
}
}

@ -0,0 +1,68 @@
using log4net;
using Quartz;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.IO;
using System.Linq;
using System.Web;
using ICSharpCode.SharpZipLib.Zip;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
namespace AMS.Common
{
/// <summary>
/// 压缩日志
/// </summary>
public class LogZipJob : IJob
{
private ILog logger = LogManager.GetLogger("LogZipJob");
Task IJob.Execute(IJobExecutionContext context)
{
return Task.Run(() =>
{
logger.Debug($"准备压缩日志文件");
string logPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "App_Data\\Logs");
logger.Debug(logPath);
string[] files = Directory.GetFiles(logPath);
string regex = "^(debug|error)\\.log(\\.[0-9]{1,3})?$";
if (files.Length > 0)
{
string zipFile = Path.Combine(logPath, $"{DateTime.Now.ToString("yyyyMMddHHmmss")}.zip");
string tempPath = Path.Combine(logPath, "temp");
if (Directory.Exists(tempPath))
{
Directory.Delete(tempPath, true);
}
Directory.CreateDirectory(tempPath);
try
{
foreach (string file in files)
{
FileInfo fileInfo = new FileInfo(file);
if (!Regex.IsMatch(fileInfo.Name, regex) && fileInfo.Extension != ".zip")
{
logger.Debug($"发现待压缩文件:{fileInfo.Name}");
File.Copy(file, Path.Combine(tempPath, fileInfo.Name));
File.Delete(file);
}
}
FastZip fastZip = new FastZip();
fastZip.CreateZip(zipFile, tempPath, true, "");
Directory.Delete(tempPath, true);
}
catch (Exception ex)
{
logger.Error(ex.Message);
logger.Error(ex.StackTrace);
}
}
logger.Debug($"压缩日志文件完成");
});
}
}
}

@ -0,0 +1,10 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AMS.Common.Models
{
}

@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// 有关程序集的一般信息由以下
// 控制。更改这些特性值可修改
// 与程序集关联的信息。
[assembly: AssemblyTitle("MailSend.Common")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("MailSend.Common")]
[assembly: AssemblyCopyright("Copyright © 2022")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// 将 ComVisible 设置为 false 会使此程序集中的类型
//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型
//请将此类型的 ComVisible 特性设置为 true。
[assembly: ComVisible(false)]
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
[assembly: Guid("fc842d9f-55bc-4fd7-a8ee-cdb26656712b")]
// 程序集的版本信息由下列四个值组成:
//
// 主版本
// 次版本
// 生成号
// 修订号
//
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
//通过使用 "*",如下所示:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="EntityFramework" version="6.4.4" targetFramework="net461" />
<package id="log4net" version="2.0.14" targetFramework="net461" />
<package id="Microsoft.Extensions.Logging.Abstractions" version="2.1.1" targetFramework="net461" />
<package id="Newtonsoft.Json" version="12.0.2" targetFramework="net461" />
<package id="Quartz" version="3.3.3" targetFramework="net461" />
<package id="SharpZipLib" version="1.3.3" targetFramework="net461" />
</packages>

@ -0,0 +1,221 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\EntityFramework.6.4.4\build\EntityFramework.props" Condition="Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.props')" />
<Import Project="..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props" Condition="Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>
</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{D8B2B80F-F5F3-4E59-BE2B-5D2A2C204348}</ProjectGuid>
<ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>AMS.Web</RootNamespace>
<AssemblyName>AMS.Web</AssemblyName>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<MvcBuildViews>false</MvcBuildViews>
<UseIISExpress>true</UseIISExpress>
<Use64BitIISExpress />
<IISExpressSSLPort />
<IISExpressAnonymousAuthentication />
<IISExpressWindowsAuthentication />
<IISExpressUseClassicPipelineMode />
<UseGlobalApplicationHostFile />
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<HintPath>..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.dll</HintPath>
</Reference>
<Reference Include="EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<HintPath>..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.SqlServer.dll</HintPath>
</Reference>
<Reference Include="log4net, Version=2.0.14.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
<HintPath>..\packages\log4net.2.0.14\lib\net45\log4net.dll</HintPath>
</Reference>
<Reference Include="Microsoft.CSharp" />
<Reference Include="Microsoft.Extensions.Logging.Abstractions, Version=2.1.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.Logging.Abstractions.2.1.1\lib\netstandard2.0\Microsoft.Extensions.Logging.Abstractions.dll</HintPath>
</Reference>
<Reference Include="Quartz, Version=3.3.3.0, Culture=neutral, PublicKeyToken=f6b8c98a402cc8a4, processorArchitecture=MSIL">
<HintPath>..\packages\Quartz.3.3.3\lib\net461\Quartz.dll</HintPath>
</Reference>
<Reference Include="Quartz.Jobs, Version=3.3.3.0, Culture=neutral, PublicKeyToken=f6b8c98a402cc8a4, processorArchitecture=MSIL">
<HintPath>..\packages\Quartz.Jobs.3.3.3\lib\net461\Quartz.Jobs.dll</HintPath>
</Reference>
<Reference Include="Quartz.Plugins, Version=3.3.3.0, Culture=neutral, PublicKeyToken=f6b8c98a402cc8a4, processorArchitecture=MSIL">
<HintPath>..\packages\Quartz.Plugins.3.3.3\lib\net461\Quartz.Plugins.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Drawing" />
<Reference Include="System.Runtime.Remoting" />
<Reference Include="System.Web.DynamicData" />
<Reference Include="System.Web.Entity" />
<Reference Include="System.Web.ApplicationServices" />
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System.Core" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Web" />
<Reference Include="System.Web.Extensions" />
<Reference Include="System.Web.Abstractions" />
<Reference Include="System.Web.Routing" />
<Reference Include="System.Xml" />
<Reference Include="System.Configuration" />
<Reference Include="System.Web.Services" />
<Reference Include="System.EnterpriseServices" />
<Reference Include="Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<Private>True</Private>
<HintPath>..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll</HintPath>
</Reference>
<Reference Include="System.Net.Http">
</Reference>
<Reference Include="System.Net.Http.WebRequest">
</Reference>
<Reference Include="System.Web.Helpers, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<Private>True</Private>
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.7\lib\net45\System.Web.Helpers.dll</HintPath>
</Reference>
<Reference Include="System.Web.Mvc, Version=5.2.7.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<Private>True</Private>
<HintPath>..\packages\Microsoft.AspNet.Mvc.5.2.7\lib\net45\System.Web.Mvc.dll</HintPath>
</Reference>
<Reference Include="System.Web.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<Private>True</Private>
<HintPath>..\packages\Microsoft.AspNet.Razor.3.2.7\lib\net45\System.Web.Razor.dll</HintPath>
</Reference>
<Reference Include="System.Web.WebPages, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<Private>True</Private>
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.7\lib\net45\System.Web.WebPages.dll</HintPath>
</Reference>
<Reference Include="System.Web.WebPages.Deployment, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<Private>True</Private>
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.7\lib\net45\System.Web.WebPages.Deployment.dll</HintPath>
</Reference>
<Reference Include="System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<Private>True</Private>
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.7\lib\net45\System.Web.WebPages.Razor.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json">
<HintPath>..\packages\Newtonsoft.Json.12.0.2\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="Antlr3.Runtime">
<Private>True</Private>
<HintPath>..\packages\Antlr.3.5.0.2\lib\Antlr3.Runtime.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Reference Include="Microsoft.CodeDom.Providers.DotNetCompilerPlatform">
<HintPath>..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\lib\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="App_Start\FilterConfig.cs" />
<Compile Include="App_Start\RouteConfig.cs" />
<Compile Include="Global.asax.cs">
<DependentUpon>Global.asax</DependentUpon>
</Compile>
<Compile Include="Models\ReqModel.cs" />
<Compile Include="Models\RespModels.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<Content Include="favicon.ico" />
<Content Include="Global.asax" />
<Content Include="quartz_jobs.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Web.config" />
<Content Include="Web.Debug.config">
<DependentUpon>Web.config</DependentUpon>
</Content>
<Content Include="Web.Release.config">
<DependentUpon>Web.config</DependentUpon>
</Content>
<Content Include="Views\Web.config" />
<Content Include="Views\_ViewStart.cshtml" />
<Content Include="Views\Shared\Error.cshtml" />
<Content Include="Views\Shared\_Layout.cshtml" />
</ItemGroup>
<ItemGroup>
<Folder Include="Controllers\" />
</ItemGroup>
<ItemGroup>
<Content Include="log4net.config">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\AMS.Common\AMS.Common.csproj">
<Project>{FC842D9F-55BC-4FD7-A8EE-CDB26656712B}</Project>
<Name>MailSend.Common</Name>
</ProjectReference>
</ItemGroup>
<PropertyGroup>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
</PropertyGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />
<Target Name="MvcBuildViews" AfterTargets="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
<AspNetCompiler VirtualPath="temp" PhysicalPath="$(WebProjectOutputDir)" />
</Target>
<ProjectExtensions>
<VisualStudio>
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
<WebProjectProperties>
<UseIIS>True</UseIIS>
<AutoAssignPort>True</AutoAssignPort>
<DevelopmentServerPort>59707</DevelopmentServerPort>
<DevelopmentServerVPath>/</DevelopmentServerVPath>
<IISUrl>http://localhost:59707/</IISUrl>
<NTLMAuthentication>False</NTLMAuthentication>
<UseCustomServer>False</UseCustomServer>
<CustomServerUrl>
</CustomServerUrl>
<SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
</WebProjectProperties>
</FlavorProperties>
</VisualStudio>
</ProjectExtensions>
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>这台计算机上缺少此项目引用的 NuGet 程序包。使用“NuGet 程序包还原”可下载这些程序包。有关更多信息,请参见 http://go.microsoft.com/fwlink/?LinkID=322105。缺少的文件是 {0}。</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props'))" />
<Error Condition="!Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\EntityFramework.6.4.4\build\EntityFramework.props'))" />
<Error Condition="!Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\EntityFramework.6.4.4\build\EntityFramework.targets'))" />
</Target>
<Import Project="..\packages\EntityFramework.6.4.4\build\EntityFramework.targets" Condition="Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.targets')" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target> -->
</Project>

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig>
<UseIISExpress>true</UseIISExpress>
<Use64BitIISExpress />
<IISExpressSSLPort />
<IISExpressAnonymousAuthentication />
<IISExpressWindowsAuthentication />
<IISExpressUseClassicPipelineMode />
<UseGlobalApplicationHostFile />
</PropertyGroup>
<ProjectExtensions>
<VisualStudio>
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
<WebProjectProperties>
<StartPageUrl>
</StartPageUrl>
<StartAction>CurrentPage</StartAction>
<AspNetDebugging>True</AspNetDebugging>
<SilverlightDebugging>False</SilverlightDebugging>
<NativeDebugging>False</NativeDebugging>
<SQLDebugging>False</SQLDebugging>
<ExternalProgram>
</ExternalProgram>
<StartExternalURL>
</StartExternalURL>
<StartCmdLineArguments>
</StartCmdLineArguments>
<StartWorkingDirectory>
</StartWorkingDirectory>
<EnableENC>True</EnableENC>
<AlwaysStartWebServerOnDebug>False</AlwaysStartWebServerOnDebug>
</WebProjectProperties>
</FlavorProperties>
</VisualStudio>
</ProjectExtensions>
</Project>

@ -0,0 +1,13 @@
using System.Web;
using System.Web.Mvc;
namespace AMS.Web
{
public class FilterConfig
{
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new HandleErrorAttribute());
}
}
}

@ -0,0 +1,23 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;
namespace AMS.Web
{
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}
}

@ -0,0 +1 @@
<%@ Application Codebehind="Global.asax.cs" Inherits="AMS.Web.MvcApplication" Language="C#" %>

@ -0,0 +1,26 @@
using Quartz.Impl;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;
namespace AMS.Web
{
public class MvcApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
var scheduler = StdSchedulerFactory.GetDefaultScheduler().Result;
scheduler.Start();
log4net.Config.XmlConfigurator.Configure(new FileInfo(Server.MapPath("~/log4net.config")));
}
}
}

@ -0,0 +1,9 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace AMS.Web.Models
{
}

@ -0,0 +1,31 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AMS.Web.Models
{
public class RespCommon
{
/// <summary>
/// 成功
/// </summary>
public const int RespCodeSuccess = 0;
/// <summary>
/// 参数错误
/// </summary>
public const int RespCodeParamError = -10;
/// <summary>
/// 服务器错误
/// </summary>
public const int RespCodeServerError = -100;
public bool Success { get; set; }
public string Message { get; set; }
public int Code { get; set; }
}
}

@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// 有关程序集的常规信息是通过以下项进行控制的
// 控制。更改这些特性值可修改
// 与程序集关联的信息。
[assembly: AssemblyTitle("AMS.Web")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("AMS.Web")]
[assembly: AssemblyCopyright("版权所有(C) 2022")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// 将 ComVisible 设置为 false 将使此程序集中的类型
// 对 COM 组件不可见。如果需要
// 从 COM 访问此程序集中的某个类型,请针对该类型将 ComVisible 特性设置为 true。
[assembly: ComVisible(false)]
// 如果此项目向 COM 公开,则下列 GUID 用于 typelib 的 ID
[assembly: Guid("fdd2b873-c7ed-45b1-9d05-5225a6a2fbf6")]
// 程序集的版本信息由下列四个值组成:
//
// 主版本
// 次版本
// 内部版本号
// 修订版本
//
// 你可以指定所有值,也可以让修订版本和内部版本号采用默认值,
// 方法是按如下所示使用 "*":
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", ConfigFileExtension = "config", Watch = true)]

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
https://go.microsoft.com/fwlink/?LinkID=208121.
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<DeleteExistingFiles>False</DeleteExistingFiles>
<ExcludeApp_Data>False</ExcludeApp_Data>
<LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<PublishProvider>FileSystem</PublishProvider>
<PublishUrl>bin\app.publish\</PublishUrl>
<WebPublishMethod>FileSystem</WebPublishMethod>
</PropertyGroup>
</Project>

@ -0,0 +1,573 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
https://go.microsoft.com/fwlink/?LinkID=208121.
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_PublishTargetUrl>E:\whm\git-proj\MailSend\MailSend.Web\bin\app.publish\</_PublishTargetUrl>
<History>True|2022-03-10T07:24:12.0931709Z;</History>
</PropertyGroup>
<ItemGroup>
<File Include="bin/Antlr3.Runtime.dll">
<publishTime>09/10/2013 16:29:20</publishTime>
</File>
<File Include="bin/Antlr3.Runtime.pdb">
<publishTime>09/10/2013 16:29:20</publishTime>
</File>
<File Include="bin/EntityFramework.dll">
<publishTime>04/17/2020 04:38:42</publishTime>
</File>
<File Include="bin/EntityFramework.SqlServer.dll">
<publishTime>04/17/2020 04:38:56</publishTime>
</File>
<File Include="bin/ICSharpCode.SharpZipLib.dll">
<publishTime>09/19/2021 17:20:28</publishTime>
</File>
<File Include="bin/ICSharpCode.SharpZipLib.pdb">
<publishTime>09/19/2021 17:20:28</publishTime>
</File>
<File Include="bin/log4net.config">
<publishTime>03/04/2022 10:16:30</publishTime>
</File>
<File Include="bin/log4net.dll">
<publishTime>12/17/2021 10:45:06</publishTime>
</File>
<File Include="bin/MailSend.Common.dll">
<publishTime>03/10/2022 15:24:08</publishTime>
</File>
<File Include="bin/MailSend.Common.dll.config">
<publishTime>03/03/2022 15:07:07</publishTime>
</File>
<File Include="bin/MailSend.Common.pdb">
<publishTime>03/10/2022 15:24:08</publishTime>
</File>
<File Include="bin/MailSend.Web.dll">
<publishTime>03/10/2022 15:24:09</publishTime>
</File>
<File Include="bin/MailSend.Web.pdb">
<publishTime>03/10/2022 15:24:09</publishTime>
</File>
<File Include="bin/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll">
<publishTime>09/05/2018 16:10:50</publishTime>
</File>
<File Include="bin/Microsoft.Extensions.Logging.Abstractions.dll">
<publishTime>06/07/2018 00:26:54</publishTime>
</File>
<File Include="bin/Microsoft.Web.Infrastructure.dll">
<publishTime>07/25/2012 11:48:56</publishTime>
</File>
<File Include="bin/Microsoft.Win32.Primitives.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/netstandard.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/Newtonsoft.Json.dll">
<publishTime>04/22/2019 01:06:16</publishTime>
</File>
<File Include="bin/Quartz.dll">
<publishTime>08/01/2021 10:34:28</publishTime>
</File>
<File Include="bin/Quartz.Jobs.dll">
<publishTime>08/01/2021 18:35:28</publishTime>
</File>
<File Include="bin/Quartz.Plugins.dll">
<publishTime>08/01/2021 18:35:38</publishTime>
</File>
<File Include="bin/quartz_jobs.xml">
<publishTime>03/04/2022 10:09:47</publishTime>
</File>
<File Include="bin/roslyn/csc.exe">
<publishTime>08/08/2018 05:38:48</publishTime>
</File>
<File Include="bin/roslyn/csc.exe.config">
<publishTime>08/08/2018 12:18:12</publishTime>
</File>
<File Include="bin/roslyn/csc.rsp">
<publishTime>08/08/2018 12:09:42</publishTime>
</File>
<File Include="bin/roslyn/csi.exe">
<publishTime>08/08/2018 05:38:48</publishTime>
</File>
<File Include="bin/roslyn/csi.exe.config">
<publishTime>08/08/2018 12:18:34</publishTime>
</File>
<File Include="bin/roslyn/csi.rsp">
<publishTime>08/08/2018 12:09:56</publishTime>
</File>
<File Include="bin/roslyn/Microsoft.Build.Tasks.CodeAnalysis.dll">
<publishTime>08/08/2018 05:38:48</publishTime>
</File>
<File Include="bin/roslyn/Microsoft.CodeAnalysis.CSharp.dll">
<publishTime>08/08/2018 05:38:48</publishTime>
</File>
<File Include="bin/roslyn/Microsoft.CodeAnalysis.CSharp.Scripting.dll">
<publishTime>08/08/2018 05:38:48</publishTime>
</File>
<File Include="bin/roslyn/Microsoft.CodeAnalysis.dll">
<publishTime>08/08/2018 05:38:48</publishTime>
</File>
<File Include="bin/roslyn/Microsoft.CodeAnalysis.Scripting.dll">
<publishTime>08/08/2018 05:38:48</publishTime>
</File>
<File Include="bin/roslyn/Microsoft.CodeAnalysis.VisualBasic.dll">
<publishTime>08/08/2018 05:38:48</publishTime>
</File>
<File Include="bin/roslyn/Microsoft.CSharp.Core.targets">
<publishTime>08/08/2018 12:09:42</publishTime>
</File>
<File Include="bin/roslyn/Microsoft.DiaSymReader.Native.amd64.dll">
<publishTime>12/05/2017 09:36:44</publishTime>
</File>
<File Include="bin/roslyn/Microsoft.DiaSymReader.Native.x86.dll">
<publishTime>12/05/2017 09:36:44</publishTime>
</File>
<File Include="bin/roslyn/Microsoft.Managed.Core.targets">
<publishTime>08/08/2018 12:09:42</publishTime>
</File>
<File Include="bin/roslyn/Microsoft.VisualBasic.Core.targets">
<publishTime>08/08/2018 12:09:42</publishTime>
</File>
<File Include="bin/roslyn/Microsoft.Win32.Primitives.dll">
<publishTime>11/05/2016 18:55:32</publishTime>
</File>
<File Include="bin/roslyn/System.AppContext.dll">
<publishTime>11/05/2016 18:55:34</publishTime>
</File>
<File Include="bin/roslyn/System.Collections.Immutable.dll">
<publishTime>05/16/2018 03:29:34</publishTime>
</File>
<File Include="bin/roslyn/System.Console.dll">
<publishTime>11/05/2016 18:55:48</publishTime>
</File>
<File Include="bin/roslyn/System.Diagnostics.DiagnosticSource.dll">
<publishTime>11/05/2016 18:55:52</publishTime>
</File>
<File Include="bin/roslyn/System.Diagnostics.FileVersionInfo.dll">
<publishTime>11/05/2016 18:55:56</publishTime>
</File>
<File Include="bin/roslyn/System.Diagnostics.StackTrace.dll">
<publishTime>11/05/2016 18:55:52</publishTime>
</File>
<File Include="bin/roslyn/System.Globalization.Calendars.dll">
<publishTime>11/05/2016 18:56:02</publishTime>
</File>
<File Include="bin/roslyn/System.IO.Compression.dll">
<publishTime>11/05/2016 18:56:08</publishTime>
</File>
<File Include="bin/roslyn/System.IO.Compression.ZipFile.dll">
<publishTime>11/05/2016 18:56:04</publishTime>
</File>
<File Include="bin/roslyn/System.IO.FileSystem.dll">
<publishTime>11/05/2016 18:56:08</publishTime>
</File>
<File Include="bin/roslyn/System.IO.FileSystem.Primitives.dll">
<publishTime>11/05/2016 18:56:08</publishTime>
</File>
<File Include="bin/roslyn/System.Net.Http.dll">
<publishTime>11/05/2016 18:56:30</publishTime>
</File>
<File Include="bin/roslyn/System.Net.Sockets.dll">
<publishTime>11/05/2016 18:56:34</publishTime>
</File>
<File Include="bin/roslyn/System.Reflection.Metadata.dll">
<publishTime>05/16/2018 03:29:44</publishTime>
</File>
<File Include="bin/roslyn/System.Runtime.InteropServices.RuntimeInformation.dll">
<publishTime>11/05/2016 18:57:00</publishTime>
</File>
<File Include="bin/roslyn/System.Security.Cryptography.Algorithms.dll">
<publishTime>11/05/2016 18:57:14</publishTime>
</File>
<File Include="bin/roslyn/System.Security.Cryptography.Encoding.dll">
<publishTime>11/05/2016 18:57:08</publishTime>
</File>
<File Include="bin/roslyn/System.Security.Cryptography.Primitives.dll">
<publishTime>11/05/2016 18:57:18</publishTime>
</File>
<File Include="bin/roslyn/System.Security.Cryptography.X509Certificates.dll">
<publishTime>11/05/2016 18:57:18</publishTime>
</File>
<File Include="bin/roslyn/System.Text.Encoding.CodePages.dll">
<publishTime>11/05/2016 18:57:20</publishTime>
</File>
<File Include="bin/roslyn/System.Threading.Tasks.Extensions.dll">
<publishTime>11/05/2016 18:57:24</publishTime>
</File>
<File Include="bin/roslyn/System.ValueTuple.dll">
<publishTime>11/05/2016 18:57:30</publishTime>
</File>
<File Include="bin/roslyn/System.Xml.ReaderWriter.dll">
<publishTime>11/05/2016 18:57:36</publishTime>
</File>
<File Include="bin/roslyn/System.Xml.XmlDocument.dll">
<publishTime>11/05/2016 18:57:34</publishTime>
</File>
<File Include="bin/roslyn/System.Xml.XPath.dll">
<publishTime>11/05/2016 18:57:40</publishTime>
</File>
<File Include="bin/roslyn/System.Xml.XPath.XDocument.dll">
<publishTime>11/05/2016 18:57:34</publishTime>
</File>
<File Include="bin/roslyn/vbc.exe">
<publishTime>08/08/2018 05:38:48</publishTime>
</File>
<File Include="bin/roslyn/vbc.exe.config">
<publishTime>08/08/2018 12:18:18</publishTime>
</File>
<File Include="bin/roslyn/vbc.rsp">
<publishTime>08/08/2018 12:09:46</publishTime>
</File>
<File Include="bin/roslyn/VBCSCompiler.exe">
<publishTime>08/08/2018 05:38:48</publishTime>
</File>
<File Include="bin/roslyn/VBCSCompiler.exe.config">
<publishTime>08/08/2018 12:18:16</publishTime>
</File>
<File Include="bin/System.AppContext.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Collections.Concurrent.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Collections.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Collections.NonGeneric.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Collections.Specialized.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.ComponentModel.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.ComponentModel.EventBasedAsync.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.ComponentModel.Primitives.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.ComponentModel.TypeConverter.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Console.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Data.Common.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Diagnostics.Contracts.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Diagnostics.Debug.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Diagnostics.FileVersionInfo.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Diagnostics.Process.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Diagnostics.StackTrace.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Diagnostics.TextWriterTraceListener.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Diagnostics.Tools.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Diagnostics.TraceSource.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Diagnostics.Tracing.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Drawing.Primitives.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Dynamic.Runtime.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Globalization.Calendars.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Globalization.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Globalization.Extensions.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.IO.Compression.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.IO.Compression.ZipFile.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.IO.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.IO.FileSystem.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.IO.FileSystem.DriveInfo.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.IO.FileSystem.Primitives.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.IO.FileSystem.Watcher.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.IO.IsolatedStorage.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.IO.MemoryMappedFiles.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.IO.Pipes.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.IO.UnmanagedMemoryStream.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Linq.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Linq.Expressions.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Linq.Parallel.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Linq.Queryable.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Net.Http.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Net.NameResolution.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Net.NetworkInformation.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Net.Ping.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Net.Primitives.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Net.Requests.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Net.Security.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Net.Sockets.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Net.WebHeaderCollection.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Net.WebSockets.Client.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Net.WebSockets.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.ObjectModel.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Reflection.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Reflection.Extensions.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Reflection.Primitives.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Resources.Reader.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Resources.ResourceManager.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Resources.Writer.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Runtime.CompilerServices.VisualC.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Runtime.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Runtime.Extensions.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Runtime.Handles.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Runtime.InteropServices.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Runtime.InteropServices.RuntimeInformation.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Runtime.Numerics.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Runtime.Serialization.Formatters.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Runtime.Serialization.Json.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Runtime.Serialization.Primitives.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Runtime.Serialization.Xml.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Security.Claims.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Security.Cryptography.Algorithms.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Security.Cryptography.Csp.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Security.Cryptography.Encoding.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Security.Cryptography.Primitives.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Security.Cryptography.X509Certificates.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Security.Principal.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Security.SecureString.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Text.Encoding.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Text.Encoding.Extensions.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Text.RegularExpressions.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Threading.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Threading.Overlapped.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Threading.Tasks.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Threading.Tasks.Parallel.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Threading.Thread.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Threading.ThreadPool.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Threading.Timer.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.ValueTuple.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Web.Helpers.dll">
<publishTime>11/28/2018 13:04:24</publishTime>
</File>
<File Include="bin/System.Web.Mvc.dll">
<publishTime>11/28/2018 12:59:46</publishTime>
</File>
<File Include="bin/System.Web.Razor.dll">
<publishTime>11/28/2018 13:00:12</publishTime>
</File>
<File Include="bin/System.Web.WebPages.Deployment.dll">
<publishTime>11/28/2018 13:04:24</publishTime>
</File>
<File Include="bin/System.Web.WebPages.dll">
<publishTime>11/28/2018 13:04:24</publishTime>
</File>
<File Include="bin/System.Web.WebPages.Razor.dll">
<publishTime>11/28/2018 13:04:24</publishTime>
</File>
<File Include="bin/System.Xml.ReaderWriter.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Xml.XDocument.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Xml.XmlDocument.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Xml.XmlSerializer.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Xml.XPath.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/System.Xml.XPath.XDocument.dll">
<publishTime>09/18/2021 12:40:30</publishTime>
</File>
<File Include="bin/zh-Hans/System.Web.Helpers.resources.dll">
<publishTime>11/29/2018 21:29:50</publishTime>
</File>
<File Include="bin/zh-Hans/System.Web.Mvc.resources.dll">
<publishTime>11/29/2018 21:25:14</publishTime>
</File>
<File Include="bin/zh-Hans/System.Web.Razor.resources.dll">
<publishTime>11/29/2018 21:25:38</publishTime>
</File>
<File Include="bin/zh-Hans/System.Web.WebPages.Deployment.resources.dll">
<publishTime>11/29/2018 21:29:50</publishTime>
</File>
<File Include="bin/zh-Hans/System.Web.WebPages.Razor.resources.dll">
<publishTime>11/29/2018 21:29:50</publishTime>
</File>
<File Include="bin/zh-Hans/System.Web.WebPages.resources.dll">
<publishTime>11/29/2018 21:29:50</publishTime>
</File>
<File Include="favicon.ico">
<publishTime>03/03/2022 15:04:07</publishTime>
</File>
<File Include="Global.asax">
<publishTime>03/03/2022 15:04:07</publishTime>
</File>
<File Include="log4net.config">
<publishTime>03/04/2022 10:16:30</publishTime>
</File>
<File Include="quartz_jobs.xml">
<publishTime>03/04/2022 10:09:47</publishTime>
</File>
<File Include="Views/Shared/Error.cshtml">
<publishTime>03/03/2022 15:04:07</publishTime>
</File>
<File Include="Views/Shared/_Layout.cshtml">
<publishTime>03/03/2022 15:04:07</publishTime>
</File>
<File Include="Views/Web.config">
<publishTime>03/03/2022 15:04:07</publishTime>
</File>
<File Include="Views/_ViewStart.cshtml">
<publishTime>03/03/2022 15:04:07</publishTime>
</File>
<File Include="Web.config">
<publishTime>03/10/2022 15:24:10</publishTime>
</File>
</ItemGroup>
</Project>

@ -0,0 +1,14 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta name="viewport" content="width=device-width" />
<title>错误</title>
</head>
<body>
<hgroup>
<h1>错误。</h1>
<h2>处理你的请求时出错。</h2>
</hgroup>
</body>
</html>

@ -0,0 +1,43 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>@ViewBag.Title - 我的 ASP.NET 应用程序</title>
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr")
</head>
<body>
<div class="navbar navbar-inverse navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
@Html.ActionLink("应用程序名称", "Index", "Home", new { area = "" }, new { @class = "navbar-brand" })
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li>@Html.ActionLink("主页", "Index", "Home")</li>
<li>@Html.ActionLink("关于", "About", "Home")</li>
<li>@Html.ActionLink("联系方式", "Contact", "Home")</li>
</ul>
</div>
</div>
</div>
<div class="container body-content">
@RenderBody()
<hr />
<footer>
<p>&copy; @DateTime.Now.Year - 我的 ASP.NET 应用程序</p>
</footer>
</div>
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/bootstrap")
@RenderSection("scripts", required: false)
</body>
</html>

@ -0,0 +1,43 @@
<?xml version="1.0"?>
<configuration>
<configSections>
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>
</configSections>
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.7.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Optimization"/>
<add namespace="System.Web.Routing" />
<add namespace="MailSend.Web" />
</namespaces>
</pages>
</system.web.webPages.razor>
<appSettings>
<add key="webpages:Enabled" value="false" />
</appSettings>
<system.webServer>
<handlers>
<remove name="BlockViewHandler"/>
<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
</handlers>
</system.webServer>
<system.web>
<compilation>
<assemblies>
<add assembly="System.Web.Mvc, Version=5.2.7.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</assemblies>
</compilation>
</system.web>
</configuration>

@ -0,0 +1,3 @@
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- For more information on using Web.config transformation visit https://go.microsoft.com/fwlink/?LinkId=301874 -->
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<!--
在下例中“SetAttributes”转换将更改
“connectionString”的值仅在“Match”定位器找到值为“MyDB”的
特性“name”时使用“ReleaseSQLServer”。
<connectionStrings>
<add name="MyDB"
connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True"
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
</connectionStrings>
-->
<system.web>
<!--
在以下示例中,"Replace" 转换将替换 Web.config 文件的
整个 <customErrors> 节。
请注意,由于在 <system.web> 节点下只有一个
customErrors 节,因此无需使用 "xdt:Locator" 属性。
<customErrors defaultRedirect="GenericError.htm"
mode="RemoteOnly" xdt:Transform="Replace">
<error statusCode="500" redirect="InternalError.htm"/>
</customErrors>
-->
</system.web>
</configuration>

@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- For more information on using Web.config transformation visit https://go.microsoft.com/fwlink/?LinkId=301874 -->
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<!--
在下例中“SetAttributes”转换将更改
“connectionString”的值仅在“Match”定位器找到值为“MyDB”的
特性“name”时使用“ReleaseSQLServer”。
<connectionStrings>
<add name="MyDB"
connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True"
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
</connectionStrings>
-->
<system.web>
<compilation xdt:Transform="RemoveAttributes(debug)" />
<!--
在以下示例中,"Replace" 转换将替换 Web.config 文件的
整个 <customErrors> 节。
请注意,由于在 <system.web> 节点下只有一个
customErrors 节,因此无需使用 "xdt:Locator" 属性。
<customErrors defaultRedirect="GenericError.htm"
mode="RemoteOnly" xdt:Transform="Replace">
<error statusCode="500" redirect="InternalError.htm"/>
</customErrors>
-->
</system.web>
</configuration>

@ -0,0 +1,296 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
有关如何配置 ASP.NET 应用程序的详细信息,请访问
https://go.microsoft.com/fwlink/?LinkId=301880
-->
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
<section name="quartz" type="System.Configuration.NameValueSectionHandler, System, Version=1.0.5000.0,Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
</configSections>
<appSettings>
<add key="webpages:Version" value="3.0.0.0"/>
<add key="webpages:Enabled" value="false"/>
<add key="ClientValidationEnabled" value="true"/>
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>
</appSettings>
<connectionStrings>
<add name="MailDB" connectionString="Data Source=192.168.0.80;Initial Catalog=MailSend;Persist Security Info=True;User ID=sa;Password=sa123" providerName="System.Data.SqlClient"/>
</connectionStrings>
<system.web>
<compilation debug="true" targetFramework="4.6.1"/>
<httpRuntime targetFramework="4.6.1"/>
</system.web>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Xml.XPath.XDocument" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Xml.XmlSerializer" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Xml.XDocument" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Xml.ReaderWriter" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.ValueTuple" publicKeyToken="CC7B13FFCD2DDD51" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Timer" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Tasks.Parallel" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Tasks" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Overlapped" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Text.RegularExpressions" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Text.Encoding.Extensions" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Text.Encoding" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Security.SecureString" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Security.Principal" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Security.Cryptography.Algorithms" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.3.0.0" newVersion="4.3.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.Serialization.Xml" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.3.0" newVersion="4.1.3.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.Serialization.Primitives" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.Serialization.Json" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.Numerics" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.InteropServices.RuntimeInformation" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.InteropServices" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.Extensions" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Resources.ResourceManager" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Reflection.Primitives" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Reflection.Extensions" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Reflection" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.ObjectModel" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Sockets" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Requests" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Primitives" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.NetworkInformation" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Http" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Linq.Queryable" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Linq.Parallel" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Linq.Expressions" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Linq" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.Compression" publicKeyToken="B77A5C561934E089" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Globalization.Extensions" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Globalization" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Dynamic.Runtime" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Diagnostics.Tracing" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Diagnostics.Tools" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Diagnostics.StackTrace" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Diagnostics.Debug" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Diagnostics.Contracts" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Data.Common" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.ComponentModel.EventBasedAsync" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.ComponentModel" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Collections" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Collections.Concurrent" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Antlr3.Runtime" publicKeyToken="eb42632606e9261f"/>
<bindingRedirect oldVersion="0.0.0.0-3.5.0.2" newVersion="3.5.0.2"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed"/>
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Optimization" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="1.1.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-5.2.7.0" newVersion="5.2.7.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:1659;1699;1701"/>
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+"/>
</compilers>
</system.codedom>
<entityFramework>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/>
</providers>
</entityFramework>
<quartz>
<add key="quartz.scheduler.instanceName" value="ServerScheduler"/>
<add key="quartz.threadPool.type" value="Quartz.Simpl.SimpleThreadPool, Quartz"/>
<add key="quartz.threadPool.threadCount" value="50"/>
<add key="quartz.threadPool.threadPriority" value="2"/>
<add key="quartz.jobStore.misfireThreshold" value="30000"/>
<add key="quartz.jobStore.type" value="Quartz.Simpl.RAMJobStore, Quartz"/>
<add key="quartz.plugin.jobInitializer.type" value="Quartz.Plugin.Xml.XMLSchedulingDataProcessorPlugin, Quartz.Plugins"/>
<add key="quartz.plugin.jobInitializer.fileNames" value="~/quartz_jobs.xml"/>
<add key="quartz.plugin.jobInitializer.failOnFileNotFound" value="true"/>
</quartz>
</configuration>

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

@ -0,0 +1,46 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" requirePermission="false" />
</configSections>
<log4net>
<root>
<!-- Value of priority may be ALL, DEBUG, INFO, WARN, ERROR, FATAL, OFF -->
<level value="DEBUG" />
<appender-ref ref="DebugAppender" />
<appender-ref ref="ErrorAppender" />
</root>
<appender name="DebugAppender" type="log4net.Appender.RollingFileAppender">
<!-- debug log: 记录 DEBUG, INFO 级别的日志 -->
<file value="App_Data\\Logs\\debug.log" />
<appendToFile value="true" />
<rollingStyle value="Composite" />
<datePattern value="yyyyMMdd" />
<maxSizeRollBackups value="100" />
<maximumFileSize value="10MB" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout" >
<param name="ConversionPattern" value="%date [%p] [%logger] [%thread] - %message%newline" />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<levelMax value="INFO" />
</filter>
</appender>
<appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
<!-- error log: 记录 WARN,ERROR,FATAL 级别的日志 -->
<file value="App_Data\\Logs\\error.log" />
<appendToFile value="true" />
<rollingStyle value="Composite" />
<datePattern value="yyyyMMdd" />
<maxSizeRollBackups value="100" />
<maximumFileSize value="10MB" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout" >
<param name="ConversionPattern" value="%date [%p] [%logger] [%thread] - %message%newline" />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="WARN" />
</filter>
</appender>
</log4net>
</configuration>

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Antlr" version="3.5.0.2" targetFramework="net461" />
<package id="EntityFramework" version="6.4.4" targetFramework="net461" />
<package id="log4net" version="2.0.14" targetFramework="net461" />
<package id="Microsoft.AspNet.Mvc" version="5.2.7" targetFramework="net461" />
<package id="Microsoft.AspNet.Mvc.zh-Hans" version="5.2.7" targetFramework="net461" />
<package id="Microsoft.AspNet.Razor" version="3.2.7" targetFramework="net461" />
<package id="Microsoft.AspNet.Razor.zh-Hans" version="3.2.7" targetFramework="net461" />
<package id="Microsoft.AspNet.WebPages" version="3.2.7" targetFramework="net461" />
<package id="Microsoft.AspNet.WebPages.zh-Hans" version="3.2.7" targetFramework="net461" />
<package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="2.0.1" targetFramework="net461" />
<package id="Microsoft.Extensions.Logging.Abstractions" version="2.1.1" targetFramework="net461" />
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net461" />
<package id="Modernizr" version="2.8.3" targetFramework="net461" />
<package id="Newtonsoft.Json" version="12.0.2" targetFramework="net461" />
<package id="Quartz" version="3.3.3" targetFramework="net461" />
<package id="Quartz.Jobs" version="3.3.3" targetFramework="net461" />
<package id="Quartz.Plugins" version="3.3.3" targetFramework="net461" />
</packages>

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="utf-8" ?>
<job-scheduling-data xmlns="http://quartznet.sourceforge.net/JobSchedulingData">
<processing-directives>
<overwrite-existing-data>true</overwrite-existing-data>
</processing-directives>
<schedule>
<!-- 压缩日志 -->
<job>
<name>LogZipJob</name>
<group>System</group>
<description>压缩日志</description>
<job-type>MailSend.Common.LogZipJob,MailSend.Common</job-type>
<durable>true</durable>
<recover>false</recover>
</job>
<trigger>
<cron>
<name>LogZipJobScheduler</name>
<group>System</group>
<job-name>LogZipJob</job-name>
<job-group>System</job-group>
<cron-expression>0 30 0 * * ?</cron-expression>
</cron>
</trigger>
<!-- 清理临时文件 -->
<job>
<name>ClearTempJob</name>
<group>System</group>
<description>清理临时文件</description>
<job-type>MailSend.Common.ClearTempJob,MailSend.Common</job-type>
<durable>true</durable>
<recover>false</recover>
</job>
<trigger>
<simple>
<name>ClearTempJobScheduler</name>
<group>System</group>
<job-name>ClearTempJob</job-name>
<job-group>System</job-group>
<repeat-count>-1</repeat-count>
<repeat-interval>1800000</repeat-interval>
</simple>
</trigger>
</schedule>
</job-scheduling-data>

@ -0,0 +1,31 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.31702.278
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AMS.Common", "AMS.Common\AMS.Common.csproj", "{FC842D9F-55BC-4FD7-A8EE-CDB26656712B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AMS.Web", "AMS.Web\AMS.Web.csproj", "{D8B2B80F-F5F3-4E59-BE2B-5D2A2C204348}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{FC842D9F-55BC-4FD7-A8EE-CDB26656712B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FC842D9F-55BC-4FD7-A8EE-CDB26656712B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FC842D9F-55BC-4FD7-A8EE-CDB26656712B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FC842D9F-55BC-4FD7-A8EE-CDB26656712B}.Release|Any CPU.Build.0 = Release|Any CPU
{D8B2B80F-F5F3-4E59-BE2B-5D2A2C204348}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D8B2B80F-F5F3-4E59-BE2B-5D2A2C204348}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D8B2B80F-F5F3-4E59-BE2B-5D2A2C204348}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D8B2B80F-F5F3-4E59-BE2B-5D2A2C204348}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {63CC4DBA-EBBF-4FB7-AF91-BC660BB64CC9}
EndGlobalSection
EndGlobal
Loading…
Cancel
Save