init commit all code
This commit is contained in:
1029
Test/.vs/Test/config/applicationhost.config
Normal file
1029
Test/.vs/Test/config/applicationhost.config
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
"port": 1158,
|
||||
"name": "Visual Studio launch configuration override"
|
||||
}
|
||||
]
|
||||
}
|
||||
BIN
Test/.vs/Test/v16/.suo
Normal file
BIN
Test/.vs/Test/v16/.suo
Normal file
Binary file not shown.
@@ -0,0 +1,76 @@
|
||||
|
||||
using Newtonsoft.Json;
|
||||
using SuperSocket.ProtoBase;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace Getf.Service.Transfer.Request.SDK.Entities
|
||||
{
|
||||
public class ReceiveFilter : FixedHeaderReceiveFilter<TransInfo>
|
||||
{
|
||||
public ReceiveFilter() : base(10)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
protected override int GetBodyLengthFromHeader(IBufferStream bufferStream, int length)
|
||||
{
|
||||
bufferStream.ReadInt16();
|
||||
var len = GetStrLength(bufferStream) + GetDataLength(bufferStream);
|
||||
return len;
|
||||
}
|
||||
|
||||
public override TransInfo ResolvePackage(IBufferStream bufferStream)
|
||||
{
|
||||
((Stream)bufferStream).Position = 2;
|
||||
var strLength = GetStrLength(bufferStream);
|
||||
var dataLength = GetDataLength(bufferStream);
|
||||
var allLength = strLength + dataLength;
|
||||
|
||||
|
||||
byte[] buffer = new byte[strLength];
|
||||
bufferStream.Read(buffer, 0, strLength);
|
||||
var json = Encoding.UTF8.GetString(buffer);
|
||||
var r = JsonConvert.DeserializeObject<TransInfo>(json);
|
||||
if (r == null)
|
||||
{
|
||||
return new TransInfo();
|
||||
}
|
||||
buffer = new byte[dataLength];
|
||||
bufferStream.Read(buffer, 0, dataLength);
|
||||
r.Data = buffer;
|
||||
return r;
|
||||
}
|
||||
|
||||
/*protected override TransInfo ResolveRequestInfo(ArraySegment<byte> header, byte[] bodyBuffer, int offset, int length)
|
||||
{
|
||||
var strLength = BitConverter.ToInt32(header.Array, header.Offset + 2);
|
||||
var dataLength = BitConverter.ToInt32(header.Array, header.Offset + 6);
|
||||
|
||||
var json = Encoding.UTF8.GetString(bodyBuffer.Skip(offset).Take(strLength).ToArray());
|
||||
var r = JsonConvert.DeserializeObject<TransInfo>(json);
|
||||
r.Data = bodyBuffer.Skip(offset + strLength).Take(dataLength).ToArray();
|
||||
return r;
|
||||
}*/
|
||||
|
||||
private int GetStrLength(IBufferStream bufferStream)
|
||||
{
|
||||
byte[] buffer = new byte[4];
|
||||
bufferStream.Read(buffer, 0, 4);
|
||||
var r = BitConverter.ToInt32(buffer, 0);
|
||||
return r;
|
||||
}
|
||||
|
||||
private int GetDataLength(IBufferStream bufferStream)
|
||||
{
|
||||
byte[] buffer = new byte[4];
|
||||
bufferStream.Read(buffer, 0, 4);
|
||||
var r = BitConverter.ToInt32(buffer, 0);
|
||||
return r;
|
||||
}
|
||||
}
|
||||
}
|
||||
18
Test/Getf.Service.Transfer.Request.SDK/Entities/TransBody.cs
Normal file
18
Test/Getf.Service.Transfer.Request.SDK/Entities/TransBody.cs
Normal file
@@ -0,0 +1,18 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace Getf.Service.Transfer.Request.SDK.Entities
|
||||
{
|
||||
public class TransBody
|
||||
{
|
||||
public string TargetAppID { get; set; }
|
||||
public string AppID { get; set; }
|
||||
public string AppSecret { get; set; }
|
||||
public string Action { get; set; }
|
||||
public string Param { get; set; }
|
||||
public string Key { get; set; }
|
||||
public string Url { get; set; }
|
||||
}
|
||||
}
|
||||
26
Test/Getf.Service.Transfer.Request.SDK/Entities/TransHead.cs
Normal file
26
Test/Getf.Service.Transfer.Request.SDK/Entities/TransHead.cs
Normal file
@@ -0,0 +1,26 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace Getf.Service.Transfer.Request.SDK.Entities
|
||||
{
|
||||
public class TransHead
|
||||
{
|
||||
public string AppID { get; set; }
|
||||
public string AppSecret { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 1 注册 2 请求
|
||||
/// </summary>
|
||||
public int Type { get; set; }
|
||||
|
||||
public string Param { get; set; }
|
||||
|
||||
public string ServiceSecret { get; set; }
|
||||
|
||||
public long TimeStamp { get; set; }
|
||||
|
||||
public string Sign { get; set; }
|
||||
}
|
||||
}
|
||||
53
Test/Getf.Service.Transfer.Request.SDK/Entities/TransInfo.cs
Normal file
53
Test/Getf.Service.Transfer.Request.SDK/Entities/TransInfo.cs
Normal file
@@ -0,0 +1,53 @@
|
||||
using Newtonsoft.Json;
|
||||
using SuperSocket.ProtoBase;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace Getf.Service.Transfer.Request.SDK.Entities
|
||||
{
|
||||
public class TransInfo : IPackageInfo
|
||||
{
|
||||
public TransHead Head { get; set; }
|
||||
|
||||
public TransBody Body { get; set; }
|
||||
|
||||
public TransResult TransResultInfo { get; set; }
|
||||
|
||||
[JsonIgnore]
|
||||
public byte[] Data { get; set; }
|
||||
|
||||
public static TransInfo Parse(byte[] buffer)
|
||||
{
|
||||
var strlength = BitConverter.ToInt32(buffer, 2);
|
||||
var byteLength = BitConverter.ToInt32(buffer, 6);
|
||||
var json = Encoding.UTF8.GetString(buffer.Skip(10).Take(strlength).ToArray());
|
||||
if (json == String.Empty)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
var r = JsonConvert.DeserializeObject<TransInfo>(json);
|
||||
r.Data = buffer.Skip(10 + strlength).Take(byteLength).ToArray();
|
||||
return r;
|
||||
}
|
||||
|
||||
public byte[] ToByte()
|
||||
{
|
||||
List<byte> bufferHead = new List<byte>();
|
||||
bufferHead.AddRange(Encoding.UTF8.GetBytes("@@"));
|
||||
List<byte> bufferBody = new List<byte>();
|
||||
var json = JsonConvert.SerializeObject(this);
|
||||
bufferBody.AddRange(Encoding.UTF8.GetBytes(json));
|
||||
var strLength = bufferBody.Count;
|
||||
if (Data != null)
|
||||
{
|
||||
bufferBody.AddRange(Data);
|
||||
}
|
||||
bufferHead.AddRange(BitConverter.GetBytes(strLength));
|
||||
bufferHead.AddRange(BitConverter.GetBytes(Data == null ? 0 : Data.Length));
|
||||
bufferHead.AddRange(bufferBody);
|
||||
return bufferHead.ToArray();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace Getf.Service.Transfer.Request.SDK.Entities
|
||||
{
|
||||
public class TransResult
|
||||
{
|
||||
public string Key { get; set; }
|
||||
|
||||
public int Code { get; set; }
|
||||
|
||||
public string Message { get; set; }
|
||||
|
||||
public string Data { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<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>{D13443BC-DECA-4FF5-B9FB-9B9EAEFC07F8}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Getf.Service.Transfer.Request.SDK</RootNamespace>
|
||||
<AssemblyName>Getf.Service.Transfer.Request.SDK</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<Deterministic>true</Deterministic>
|
||||
</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="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||
<HintPath>..\Test\packages\Newtonsoft.Json.12.0.1\lib\net40\Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="SuperSocket.ClientEngine, Version=0.8.0.12, Culture=neutral, PublicKeyToken=ee9af13f57f00acc, processorArchitecture=MSIL">
|
||||
<HintPath>..\Test\packages\SuperSocket.ClientEngine.0.8.0.12\lib\net40-client\SuperSocket.ClientEngine.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="SuperSocket.ProtoBase, Version=1.7.0.17, Culture=neutral, PublicKeyToken=6c80000676988ebb, processorArchitecture=MSIL">
|
||||
<HintPath>..\Test\packages\SuperSocket.ProtoBase.1.7.0.17\lib\net40\SuperSocket.ProtoBase.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.configuration" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Entities\TransBody.cs" />
|
||||
<Compile Include="Entities\TransHead.cs" />
|
||||
<Compile Include="Entities\TransInfo.cs" />
|
||||
<Compile Include="Entities\TransResult.cs" />
|
||||
<Compile Include="Helpers\Md5Helper.cs" />
|
||||
<Compile Include="Helpers\TypeHelper.cs" />
|
||||
<Compile Include="ReceiveFilter.cs" />
|
||||
<Compile Include="RequestSevice.cs" />
|
||||
<Compile Include="TcpClientService.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
||||
25
Test/Getf.Service.Transfer.Request.SDK/Helpers/Md5Helper.cs
Normal file
25
Test/Getf.Service.Transfer.Request.SDK/Helpers/Md5Helper.cs
Normal file
@@ -0,0 +1,25 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
|
||||
namespace Getf.Service.Transfer.Request.SDK.Helpers
|
||||
{
|
||||
public static class Md5Helper
|
||||
{
|
||||
public static string Md5(string str)
|
||||
{
|
||||
MD5 md5 = MD5.Create();
|
||||
byte[] data = Encoding.UTF8.GetBytes(str);
|
||||
data = md5.ComputeHash(data);
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for (int i = 0; i < data.Length; i++)
|
||||
{
|
||||
sb.Append(data[i].ToString("x2"));
|
||||
}
|
||||
return sb.ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
23
Test/Getf.Service.Transfer.Request.SDK/Helpers/TypeHelper.cs
Normal file
23
Test/Getf.Service.Transfer.Request.SDK/Helpers/TypeHelper.cs
Normal file
@@ -0,0 +1,23 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace Getf.Service.Transfer.Request.SDK.Helpers
|
||||
{
|
||||
public static class TypeHelper
|
||||
{
|
||||
public static DateTime ToDateTime(long timeStamp)
|
||||
{
|
||||
System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); // 当地时区
|
||||
DateTime dt = startTime.AddSeconds(timeStamp);
|
||||
return dt;
|
||||
}
|
||||
public static long GetTimeStamp()
|
||||
{
|
||||
System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1, 0, 0, 0, 0));
|
||||
long t = (long)(DateTime.Now - startTime).TotalSeconds;
|
||||
return t;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// 有关程序集的一般信息由以下
|
||||
// 控制。更改这些特性值可修改
|
||||
// 与程序集关联的信息。
|
||||
[assembly: AssemblyTitle("Getf.Service.Transfer.Request.SDK")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("Hewlett-Packard")]
|
||||
[assembly: AssemblyProduct("Getf.Service.Transfer.Request.SDK")]
|
||||
[assembly: AssemblyCopyright("Copyright © Hewlett-Packard 2018")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// 将 ComVisible 设置为 false 会使此程序集中的类型
|
||||
//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型
|
||||
//请将此类型的 ComVisible 特性设置为 true。
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
|
||||
[assembly: Guid("d13443bc-deca-4ff5-b9fb-9b9eaefc07f8")]
|
||||
|
||||
// 程序集的版本信息由下列四个值组成:
|
||||
//
|
||||
// 主版本
|
||||
// 次版本
|
||||
// 生成号
|
||||
// 修订号
|
||||
//
|
||||
// 可以指定所有值,也可以使用以下所示的 "*" 预置版本号和修订号
|
||||
//通过使用 "*",如下所示:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
77
Test/Getf.Service.Transfer.Request.SDK/ReceiveFilter.cs
Normal file
77
Test/Getf.Service.Transfer.Request.SDK/ReceiveFilter.cs
Normal file
@@ -0,0 +1,77 @@
|
||||
using Getf.Service.Transfer.Request.SDK.Entities;
|
||||
using Newtonsoft.Json;
|
||||
using SuperSocket.ProtoBase;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace Getf.Service.Transfer.Request.SDK
|
||||
{
|
||||
|
||||
public class ReceiveFilter : FixedHeaderReceiveFilter<TransInfo>
|
||||
{
|
||||
public ReceiveFilter() : base(10)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
protected override int GetBodyLengthFromHeader(IBufferStream bufferStream, int length)
|
||||
{
|
||||
bufferStream.ReadInt16();
|
||||
var len = GetStrLength(bufferStream) + GetDataLength(bufferStream);
|
||||
return len;
|
||||
}
|
||||
|
||||
public override TransInfo ResolvePackage(IBufferStream bufferStream)
|
||||
{
|
||||
((Stream)bufferStream).Position = 2;
|
||||
var strLength = GetStrLength(bufferStream);
|
||||
var dataLength = GetDataLength(bufferStream);
|
||||
var allLength = strLength + dataLength;
|
||||
|
||||
|
||||
byte[] buffer = new byte[strLength];
|
||||
bufferStream.Read(buffer, 0, strLength);
|
||||
var json = Encoding.UTF8.GetString(buffer);
|
||||
var r = JsonConvert.DeserializeObject<TransInfo>(json);
|
||||
if (r == null)
|
||||
{
|
||||
return new TransInfo();
|
||||
}
|
||||
buffer = new byte[dataLength];
|
||||
bufferStream.Read(buffer, 0, dataLength);
|
||||
r.Data = buffer;
|
||||
return r;
|
||||
}
|
||||
|
||||
/*protected override TransInfo ResolveRequestInfo(ArraySegment<byte> header, byte[] bodyBuffer, int offset, int length)
|
||||
{
|
||||
var strLength = BitConverter.ToInt32(header.Array, header.Offset + 2);
|
||||
var dataLength = BitConverter.ToInt32(header.Array, header.Offset + 6);
|
||||
|
||||
var json = Encoding.UTF8.GetString(bodyBuffer.Skip(offset).Take(strLength).ToArray());
|
||||
var r = JsonConvert.DeserializeObject<TransInfo>(json);
|
||||
r.Data = bodyBuffer.Skip(offset + strLength).Take(dataLength).ToArray();
|
||||
return r;
|
||||
}*/
|
||||
|
||||
private int GetStrLength(IBufferStream bufferStream)
|
||||
{
|
||||
byte[] buffer = new byte[4];
|
||||
bufferStream.Read(buffer, 0, 4);
|
||||
var r = BitConverter.ToInt32(buffer, 0);
|
||||
return r;
|
||||
}
|
||||
|
||||
private int GetDataLength(IBufferStream bufferStream)
|
||||
{
|
||||
byte[] buffer = new byte[4];
|
||||
bufferStream.Read(buffer, 0, 4);
|
||||
var r = BitConverter.ToInt32(buffer, 0);
|
||||
return r;
|
||||
}
|
||||
}
|
||||
}
|
||||
137
Test/Getf.Service.Transfer.Request.SDK/RequestSevice.cs
Normal file
137
Test/Getf.Service.Transfer.Request.SDK/RequestSevice.cs
Normal file
@@ -0,0 +1,137 @@
|
||||
using Getf.Service.Transfer.Request.SDK.Entities;
|
||||
using Getf.Service.Transfer.Request.SDK.Helpers;
|
||||
using Newtonsoft.Json;
|
||||
using SuperSocket.ClientEngine;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Configuration;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
|
||||
namespace Getf.Service.Transfer.Request.SDK
|
||||
{
|
||||
public class RequestSevice : IDisposable
|
||||
{
|
||||
private readonly EasyClient TcpClient;
|
||||
|
||||
private TransInfo _TransInfo;
|
||||
|
||||
ManualResetEvent _ManualResetEvent = new ManualResetEvent(false);
|
||||
|
||||
private string AppID = ConfigurationManager.AppSettings["Service_Transfer_AppID"];
|
||||
private string AppSecret = ConfigurationManager.AppSettings["Service_Transfer_AppSecret"];
|
||||
private string Key = ConfigurationManager.AppSettings["Service_Transfer_Key"];
|
||||
private string Ip;
|
||||
private int Port;
|
||||
|
||||
/*public RequestSevice()
|
||||
{
|
||||
var c = ConfigurationManager.AppSettings["Service_Transfer_AddressInfo"].Split(':');
|
||||
_TcpClientService = new TcpClientService(c[0], int.Parse(c[1]));
|
||||
}*/
|
||||
public RequestSevice()
|
||||
{
|
||||
var c = ConfigurationManager.AppSettings["Service_Transfer_AddressInfo"].Split(':');
|
||||
Ip = c[0];
|
||||
Port = int.Parse(c[1]);
|
||||
TcpClient = new EasyClient();
|
||||
}
|
||||
|
||||
public RequestSevice(string ip, int port)
|
||||
{
|
||||
Ip = ip;
|
||||
Port = port;
|
||||
TcpClient = new EasyClient();
|
||||
}
|
||||
|
||||
public RequestSevice(string ip, int port, string appID, string appSecret, string key)
|
||||
{
|
||||
Ip = ip;
|
||||
Port = port;
|
||||
AppID = appID;
|
||||
AppSecret = appSecret;
|
||||
Key = key;
|
||||
TcpClient = new EasyClient();
|
||||
}
|
||||
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
_ManualResetEvent.Dispose();
|
||||
TcpClient.Close();
|
||||
}
|
||||
|
||||
public TransInfo GetResult(TransInfo transInfo)
|
||||
{
|
||||
_TransInfo = transInfo;
|
||||
TcpClient.Initialize(new ReceiveFilter(), OnDataGeted);
|
||||
TcpClient.Connected += OnConnected;
|
||||
TcpClient.Error += OnError;
|
||||
TcpClient.ConnectAsync(new IPEndPoint(IPAddress.Parse(Ip), Port));
|
||||
_ManualResetEvent.WaitOne();
|
||||
return _TransInfo;
|
||||
}
|
||||
public TransInfo GetResult(string targetAppID, string action = null, string param = null, string appID = null, string appSecret = null)
|
||||
{
|
||||
_TransInfo = GetTransInfo(targetAppID, action, param, appID, appSecret);
|
||||
return GetResult(_TransInfo);
|
||||
}
|
||||
|
||||
public TransInfo GetTransInfo(string targetAppID, string action, string param = null, string appID = null, string appSecret = null)
|
||||
{
|
||||
var ts = TypeHelper.GetTimeStamp();
|
||||
var r = new TransInfo()
|
||||
{
|
||||
Head = new TransHead()
|
||||
{
|
||||
AppID = AppID,
|
||||
AppSecret = AppSecret,
|
||||
TimeStamp = ts,
|
||||
Type = 2,
|
||||
Sign = Md5Helper.Md5(ts + Key)
|
||||
},
|
||||
Body = new TransBody()
|
||||
{
|
||||
Action = action,
|
||||
AppID = appID,
|
||||
AppSecret = appSecret,
|
||||
Param = param,
|
||||
TargetAppID = targetAppID
|
||||
}
|
||||
};
|
||||
return r;
|
||||
}
|
||||
|
||||
private void OnDataGeted(TransInfo transInfo)
|
||||
{
|
||||
_TransInfo = transInfo;
|
||||
_ManualResetEvent.Set();
|
||||
}
|
||||
|
||||
private void OnError(object sender, ErrorEventArgs e)
|
||||
{
|
||||
_TransInfo.Head = null;
|
||||
_TransInfo.Body = null;
|
||||
_TransInfo.TransResultInfo = new TransResult()
|
||||
{
|
||||
Code = -101,
|
||||
Message = e.Exception.Message
|
||||
};
|
||||
try
|
||||
{
|
||||
_ManualResetEvent.Set();
|
||||
}
|
||||
catch
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void OnConnected(object sender, EventArgs e)
|
||||
{
|
||||
TcpClient.Send(_TransInfo.ToByte());
|
||||
}
|
||||
}
|
||||
}
|
||||
173
Test/Getf.Service.Transfer.Request.SDK/TcpClientService.cs
Normal file
173
Test/Getf.Service.Transfer.Request.SDK/TcpClientService.cs
Normal file
@@ -0,0 +1,173 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Configuration;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Net.Sockets;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
|
||||
namespace Getf.Service.Transfer.Request.SDK
|
||||
{
|
||||
public class TcpClientService : IDisposable
|
||||
{
|
||||
private Socket _SocketClient;
|
||||
private readonly string _IP;
|
||||
private readonly int _Port;
|
||||
|
||||
public event Action<TcpClientService, string> OnError;
|
||||
|
||||
public event Action<TcpClientService> OnConnected;
|
||||
|
||||
public event Action<TcpClientService, byte[]> OnDataGeted;
|
||||
|
||||
bool IsDisposed = false;
|
||||
|
||||
public TcpClientService(string ip, int port)
|
||||
{
|
||||
_IP = ip;
|
||||
_Port = port;
|
||||
}
|
||||
|
||||
public void Connect()
|
||||
{
|
||||
if (_SocketClient != null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
_SocketClient = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
|
||||
_SocketClient.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.KeepAlive, true);
|
||||
IPAddress ipAddress = IPAddress.Parse(_IP);
|
||||
var endPoint = new IPEndPoint(ipAddress, _Port);
|
||||
_SocketClient.BeginConnect(endPoint, new AsyncCallback(Connected), null);
|
||||
}
|
||||
|
||||
private void Connected(IAsyncResult asyncResult)
|
||||
{
|
||||
try
|
||||
{
|
||||
_SocketClient.EndConnect(asyncResult);
|
||||
TriggerConnected();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
TriggerError(e.Message);
|
||||
}
|
||||
}
|
||||
|
||||
public void ReceiveLoop(int times = -1)
|
||||
{
|
||||
Thread thread = new Thread(() =>
|
||||
{
|
||||
int i = 0;
|
||||
while (!IsDisposed)
|
||||
{
|
||||
if (times > 0 && i >= times)
|
||||
{
|
||||
break;
|
||||
}
|
||||
Receive();
|
||||
}
|
||||
});
|
||||
thread.Start();
|
||||
}
|
||||
|
||||
public void Receive()
|
||||
{
|
||||
byte[] buffer = new byte[100 * 1024 * 1024];
|
||||
ManualResetEvent manualResetEvent = new ManualResetEvent(false);
|
||||
try
|
||||
{
|
||||
_SocketClient.BeginReceive(buffer, 0, buffer.Length, SocketFlags.None, new AsyncCallback(Received), new object[] { manualResetEvent, buffer });
|
||||
}
|
||||
catch
|
||||
{
|
||||
manualResetEvent.Dispose();
|
||||
}
|
||||
manualResetEvent.WaitOne();
|
||||
manualResetEvent.Dispose();
|
||||
buffer = null;
|
||||
}
|
||||
|
||||
private void Received(IAsyncResult asyncResult)
|
||||
{
|
||||
var objs = asyncResult.AsyncState as object[];
|
||||
var manualResetEvent = objs[0] as ManualResetEvent;
|
||||
var buffer = objs[1] as byte[];
|
||||
try
|
||||
{
|
||||
_SocketClient.EndReceive(asyncResult);
|
||||
TriggerDataGeted(buffer);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
TriggerError(e.Message);
|
||||
}
|
||||
manualResetEvent.Set();
|
||||
}
|
||||
|
||||
public void Send(byte[] buffer)
|
||||
{
|
||||
_SocketClient.BeginSend(buffer, 0, buffer.Length, SocketFlags.None, new AsyncCallback(Sended), null);
|
||||
}
|
||||
|
||||
private void Sended(IAsyncResult asyncResult)
|
||||
{
|
||||
try
|
||||
{
|
||||
_SocketClient.EndSend(asyncResult);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
TriggerError(e.Message);
|
||||
}
|
||||
}
|
||||
|
||||
private void TriggerError(string message)
|
||||
{
|
||||
if (OnError != null)
|
||||
{
|
||||
OnError(this, message);
|
||||
}
|
||||
}
|
||||
private void TriggerConnected()
|
||||
{
|
||||
if (OnConnected != null)
|
||||
{
|
||||
OnConnected(this);
|
||||
}
|
||||
}
|
||||
|
||||
private void TriggerDataGeted(byte[] buffer)
|
||||
{
|
||||
if (OnDataGeted != null)
|
||||
{
|
||||
OnDataGeted(this, buffer);
|
||||
}
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
IsDisposed = true;
|
||||
try
|
||||
{
|
||||
if (_SocketClient != null)
|
||||
{
|
||||
try
|
||||
{
|
||||
_SocketClient.Disconnect(false);
|
||||
}
|
||||
catch
|
||||
{
|
||||
|
||||
}
|
||||
_SocketClient.Dispose();
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
113
Test/Getf.Service.Transfer.Request.SDK/TcpSevice.cs
Normal file
113
Test/Getf.Service.Transfer.Request.SDK/TcpSevice.cs
Normal file
@@ -0,0 +1,113 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net.Sockets;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
|
||||
namespace Getf.Service.Transfer.Request.SDK
|
||||
{
|
||||
public class TcpSevice : IDisposable
|
||||
{
|
||||
public event Action<TcpSevice, byte[]> OnDataGetted;
|
||||
|
||||
private string _IP;
|
||||
private int _Port;
|
||||
TcpClient _TcpClient;
|
||||
|
||||
public bool IsConnected = false;
|
||||
|
||||
private NetworkStream MNetworkStream;
|
||||
|
||||
public TcpSevice(string ip, int port)
|
||||
{
|
||||
_IP = ip;
|
||||
_Port = port;
|
||||
}
|
||||
|
||||
public void Connect()
|
||||
{
|
||||
if (_TcpClient != null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
_TcpClient = new TcpClient();
|
||||
var asyncCallback = new AsyncCallback(Connected);
|
||||
ManualResetEvent manualResetEvent = new ManualResetEvent(false);
|
||||
_TcpClient.BeginConnect(_IP, _Port, asyncCallback, new object[] { manualResetEvent });
|
||||
manualResetEvent.WaitOne();
|
||||
manualResetEvent.Dispose();
|
||||
IsConnected = true;
|
||||
}
|
||||
|
||||
private void Connected(IAsyncResult asyncResult)
|
||||
{
|
||||
var objs = asyncResult.AsyncState as object[];
|
||||
|
||||
var manualResetEvent = (ManualResetEvent)objs[0];
|
||||
|
||||
_TcpClient.EndConnect(asyncResult);
|
||||
manualResetEvent.Set();
|
||||
}
|
||||
|
||||
public void Receive()
|
||||
{
|
||||
if (MNetworkStream == null)
|
||||
{
|
||||
MNetworkStream = _TcpClient.GetStream();
|
||||
}
|
||||
var buffer = new byte[100 * 1024 * 1024];
|
||||
if (MNetworkStream.CanRead)
|
||||
{
|
||||
MNetworkStream.BeginRead(buffer, 0, buffer.Length, new AsyncCallback(Received), new object[] { MNetworkStream, buffer });
|
||||
}
|
||||
}
|
||||
|
||||
private void Received(IAsyncResult asyncResult)
|
||||
{
|
||||
var objs = asyncResult.AsyncState as object[];
|
||||
var stream = objs[0] as Stream;
|
||||
var buffer = objs[1] as byte[];
|
||||
stream.EndRead(asyncResult);
|
||||
if (OnDataGetted != null)
|
||||
{
|
||||
OnDataGetted(this, buffer);
|
||||
}
|
||||
}
|
||||
|
||||
public void Send(byte[] buffer)
|
||||
{
|
||||
ManualResetEvent manualResetEvent = new ManualResetEvent(false);
|
||||
if (MNetworkStream == null)
|
||||
{
|
||||
MNetworkStream = _TcpClient.GetStream();
|
||||
}
|
||||
if (MNetworkStream.CanWrite)
|
||||
{
|
||||
MNetworkStream.BeginWrite(buffer, 0, buffer.Length, new AsyncCallback(Sended), new object[] { manualResetEvent, MNetworkStream, buffer });
|
||||
}
|
||||
}
|
||||
|
||||
private void Sended(IAsyncResult asyncResult)
|
||||
{
|
||||
var objs = asyncResult.AsyncState as object[];
|
||||
var manualResetEvent = (ManualResetEvent)objs[0];
|
||||
var stream = objs[1] as Stream;
|
||||
var buffer = objs[2] as byte[];
|
||||
stream.EndWrite(asyncResult);
|
||||
stream.Flush();
|
||||
//stream.Dispose();
|
||||
manualResetEvent.Set();
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
if (MNetworkStream != null)
|
||||
{
|
||||
MNetworkStream.Close();
|
||||
MNetworkStream.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
9505
Test/Getf.Service.Transfer.Request.SDK/bin/Debug/Newtonsoft.Json.xml
Normal file
9505
Test/Getf.Service.Transfer.Request.SDK/bin/Debug/Newtonsoft.Json.xml
Normal file
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,4 @@
|
||||
// <autogenerated />
|
||||
using System;
|
||||
using System.Reflection;
|
||||
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.0", FrameworkDisplayName = ".NET Framework 4")]
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1 @@
|
||||
41817a7aec2b6983431c0d02f1d86ce22528e5b5
|
||||
@@ -0,0 +1,15 @@
|
||||
D:\WORK\x行政审批\z住建委行政审批\new新版本行政审批201810\CodeSvn_XZSP201810NewVersion\web\PublicSystems\ConstructionForm.UIL\Getf.Service.Transfer.Request.SDK\obj\Debug\Getf.Service.Transfer.Request.SDK.csproj.AssemblyReference.cache
|
||||
D:\WORK\x行政审批\z住建委行政审批\new新版本行政审批201810\CodeSvn_XZSP201810NewVersion\web\PublicSystems\ConstructionForm.UIL\Getf.Service.Transfer.Request.SDK\obj\Debug\Getf.Service.Transfer.Request.SDK.csproj.CoreCompileInputs.cache
|
||||
D:\WORK\C宁波拆迁\neiwai_transfer\Test\Getf.Service.Transfer.Request.SDK\obj\Debug\Getf.Service.Transfer.Request.SDK.csproj.AssemblyReference.cache
|
||||
D:\WORK\C宁波拆迁\neiwai_transfer\Test\Getf.Service.Transfer.Request.SDK\obj\Debug\Getf.Service.Transfer.Request.SDK.csproj.CoreCompileInputs.cache
|
||||
D:\WORK\C宁波拆迁\neiwai_transfer\Test\Getf.Service.Transfer.Request.SDK\bin\Debug\Getf.Service.Transfer.Request.SDK.dll
|
||||
D:\WORK\C宁波拆迁\neiwai_transfer\Test\Getf.Service.Transfer.Request.SDK\bin\Debug\Getf.Service.Transfer.Request.SDK.pdb
|
||||
D:\WORK\C宁波拆迁\neiwai_transfer\Test\Getf.Service.Transfer.Request.SDK\bin\Debug\Newtonsoft.Json.dll
|
||||
D:\WORK\C宁波拆迁\neiwai_transfer\Test\Getf.Service.Transfer.Request.SDK\bin\Debug\SuperSocket.ClientEngine.dll
|
||||
D:\WORK\C宁波拆迁\neiwai_transfer\Test\Getf.Service.Transfer.Request.SDK\bin\Debug\SuperSocket.ProtoBase.dll
|
||||
D:\WORK\C宁波拆迁\neiwai_transfer\Test\Getf.Service.Transfer.Request.SDK\bin\Debug\Newtonsoft.Json.pdb
|
||||
D:\WORK\C宁波拆迁\neiwai_transfer\Test\Getf.Service.Transfer.Request.SDK\bin\Debug\Newtonsoft.Json.xml
|
||||
D:\WORK\C宁波拆迁\neiwai_transfer\Test\Getf.Service.Transfer.Request.SDK\bin\Debug\SuperSocket.ProtoBase.xml
|
||||
D:\WORK\C宁波拆迁\neiwai_transfer\Test\Getf.Service.Transfer.Request.SDK\obj\Debug\Getf.Service.Transfer.Request.SDK.csproj.CopyComplete
|
||||
D:\WORK\C宁波拆迁\neiwai_transfer\Test\Getf.Service.Transfer.Request.SDK\obj\Debug\Getf.Service.Transfer.Request.SDK.dll
|
||||
D:\WORK\C宁波拆迁\neiwai_transfer\Test\Getf.Service.Transfer.Request.SDK\obj\Debug\Getf.Service.Transfer.Request.SDK.pdb
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,4 @@
|
||||
// <autogenerated />
|
||||
using System;
|
||||
using System.Reflection;
|
||||
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.0", FrameworkDisplayName = ".NET Framework 4")]
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1 @@
|
||||
a2800fab8ecb5f82d60205028c65ba25af8e973f
|
||||
@@ -0,0 +1,13 @@
|
||||
D:\WORK\C宁波拆迁\neiwai_transfer\Test\Getf.Service.Transfer.Request.SDK\bin\Release\Getf.Service.Transfer.Request.SDK.dll
|
||||
D:\WORK\C宁波拆迁\neiwai_transfer\Test\Getf.Service.Transfer.Request.SDK\bin\Release\Getf.Service.Transfer.Request.SDK.pdb
|
||||
D:\WORK\C宁波拆迁\neiwai_transfer\Test\Getf.Service.Transfer.Request.SDK\bin\Release\Newtonsoft.Json.dll
|
||||
D:\WORK\C宁波拆迁\neiwai_transfer\Test\Getf.Service.Transfer.Request.SDK\bin\Release\SuperSocket.ClientEngine.dll
|
||||
D:\WORK\C宁波拆迁\neiwai_transfer\Test\Getf.Service.Transfer.Request.SDK\bin\Release\SuperSocket.ProtoBase.dll
|
||||
D:\WORK\C宁波拆迁\neiwai_transfer\Test\Getf.Service.Transfer.Request.SDK\bin\Release\Newtonsoft.Json.pdb
|
||||
D:\WORK\C宁波拆迁\neiwai_transfer\Test\Getf.Service.Transfer.Request.SDK\bin\Release\Newtonsoft.Json.xml
|
||||
D:\WORK\C宁波拆迁\neiwai_transfer\Test\Getf.Service.Transfer.Request.SDK\bin\Release\SuperSocket.ProtoBase.xml
|
||||
D:\WORK\C宁波拆迁\neiwai_transfer\Test\Getf.Service.Transfer.Request.SDK\obj\Release\Getf.Service.Transfer.Request.SDK.csproj.AssemblyReference.cache
|
||||
D:\WORK\C宁波拆迁\neiwai_transfer\Test\Getf.Service.Transfer.Request.SDK\obj\Release\Getf.Service.Transfer.Request.SDK.csproj.CoreCompileInputs.cache
|
||||
D:\WORK\C宁波拆迁\neiwai_transfer\Test\Getf.Service.Transfer.Request.SDK\obj\Release\Getf.Service.Transfer.Request.SDK.csproj.CopyComplete
|
||||
D:\WORK\C宁波拆迁\neiwai_transfer\Test\Getf.Service.Transfer.Request.SDK\obj\Release\Getf.Service.Transfer.Request.SDK.dll
|
||||
D:\WORK\C宁波拆迁\neiwai_transfer\Test\Getf.Service.Transfer.Request.SDK\obj\Release\Getf.Service.Transfer.Request.SDK.pdb
|
||||
Binary file not shown.
Binary file not shown.
6
Test/Getf.Service.Transfer.Request.SDK/packages.config
Normal file
6
Test/Getf.Service.Transfer.Request.SDK/packages.config
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Newtonsoft.Json" version="12.0.1" targetFramework="net40" />
|
||||
<package id="SuperSocket.ClientEngine" version="0.8.0.12" targetFramework="net40" />
|
||||
<package id="SuperSocket.ProtoBase" version="1.7.0.17" targetFramework="net40" />
|
||||
</packages>
|
||||
31
Test/Test.sln
Normal file
31
Test/Test.sln
Normal file
@@ -0,0 +1,31 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.31624.102
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test", ".\Test\Test.csproj", "{C1F0FFD3-EAEE-4EC0-9DBB-E9CAB522C94A}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Getf.Service.Transfer.Request.SDK", ".\Getf.Service.Transfer.Request.SDK\Getf.Service.Transfer.Request.SDK.csproj", "{D13443BC-DECA-4FF5-B9FB-9B9EAEFC07F8}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{C1F0FFD3-EAEE-4EC0-9DBB-E9CAB522C94A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{C1F0FFD3-EAEE-4EC0-9DBB-E9CAB522C94A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{C1F0FFD3-EAEE-4EC0-9DBB-E9CAB522C94A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{C1F0FFD3-EAEE-4EC0-9DBB-E9CAB522C94A}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{D13443BC-DECA-4FF5-B9FB-9B9EAEFC07F8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{D13443BC-DECA-4FF5-B9FB-9B9EAEFC07F8}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{D13443BC-DECA-4FF5-B9FB-9B9EAEFC07F8}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{D13443BC-DECA-4FF5-B9FB-9B9EAEFC07F8}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {E3ABD948-0762-424C-B13D-32032ACE23A1}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
1029
Test/Test/.vs/Test/config/applicationhost.config
Normal file
1029
Test/Test/.vs/Test/config/applicationhost.config
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
"port": 33187,
|
||||
"name": "Visual Studio launch configuration override"
|
||||
}
|
||||
]
|
||||
}
|
||||
BIN
Test/Test/.vs/Test/v16/.suo
Normal file
BIN
Test/Test/.vs/Test/v16/.suo
Normal file
Binary file not shown.
30
Test/Test/App_Start/BundleConfig.cs
Normal file
30
Test/Test/App_Start/BundleConfig.cs
Normal file
@@ -0,0 +1,30 @@
|
||||
using System.Web;
|
||||
using System.Web.Optimization;
|
||||
|
||||
namespace Test
|
||||
{
|
||||
public class BundleConfig
|
||||
{
|
||||
// 有关捆绑的详细信息,请访问 https://go.microsoft.com/fwlink/?LinkId=301862
|
||||
public static void RegisterBundles(BundleCollection bundles)
|
||||
{
|
||||
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
|
||||
"~/Scripts/jquery-{version}.js"));
|
||||
|
||||
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
|
||||
"~/Scripts/jquery.validate*"));
|
||||
|
||||
// 使用要用于开发和学习的 Modernizr 的开发版本。然后,当你做好
|
||||
// 生产准备就绪,请使用 https://modernizr.com 上的生成工具仅选择所需的测试。
|
||||
bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
|
||||
"~/Scripts/modernizr-*"));
|
||||
|
||||
bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include(
|
||||
"~/Scripts/bootstrap.js"));
|
||||
|
||||
bundles.Add(new StyleBundle("~/Content/css").Include(
|
||||
"~/Content/bootstrap.css",
|
||||
"~/Content/site.css"));
|
||||
}
|
||||
}
|
||||
}
|
||||
13
Test/Test/App_Start/FilterConfig.cs
Normal file
13
Test/Test/App_Start/FilterConfig.cs
Normal file
@@ -0,0 +1,13 @@
|
||||
using System.Web;
|
||||
using System.Web.Mvc;
|
||||
|
||||
namespace Test
|
||||
{
|
||||
public class FilterConfig
|
||||
{
|
||||
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
|
||||
{
|
||||
filters.Add(new HandleErrorAttribute());
|
||||
}
|
||||
}
|
||||
}
|
||||
23
Test/Test/App_Start/RouteConfig.cs
Normal file
23
Test/Test/App_Start/RouteConfig.cs
Normal file
@@ -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 Test
|
||||
{
|
||||
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 }
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
139
Test/Test/App_Start/Service.cs
Normal file
139
Test/Test/App_Start/Service.cs
Normal file
@@ -0,0 +1,139 @@
|
||||
using Getf.Service.Transfer.Request.SDK;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Web;
|
||||
|
||||
namespace Test.App_Start
|
||||
{
|
||||
public class Service
|
||||
{
|
||||
private readonly static string TransferServiceIpInfo = System.Configuration.ConfigurationManager.AppSettings["TransferService_IpInfo"];
|
||||
private readonly static string TransferServiceAppID = System.Configuration.ConfigurationManager.AppSettings["TransferService_AppID"];
|
||||
private readonly static string TransferServiceAppSecret = System.Configuration.ConfigurationManager.AppSettings["TransferService_AppSecret"];
|
||||
private readonly static string TransferServiceTargetAppID = System.Configuration.ConfigurationManager.AppSettings["TransferService_TargetAppID"];
|
||||
//private readonly static string TransferServiceUrlSaveData = System.Configuration.ConfigurationManager.AppSettings["TransferService_Url_SaveData"];
|
||||
private readonly static string TransferService_api1_data_Url = System.Configuration.ConfigurationManager.AppSettings["TransferService_api1_data_Url"];
|
||||
private readonly static string TransferService_api2_data_Url = System.Configuration.ConfigurationManager.AppSettings["TransferService_api2_data_Url"];
|
||||
private readonly static string TransferService_api1_appkey = System.Configuration.ConfigurationManager.AppSettings["TransferService_api1_appkey"];
|
||||
private readonly static string TransferService_api1_appsecret = System.Configuration.ConfigurationManager.AppSettings["TransferService_api1_appsecret"];
|
||||
|
||||
private readonly string TransferServiceIp = TransferServiceIpInfo.Split(':')[0];
|
||||
private readonly int TransferServicePort = int.Parse(TransferServiceIpInfo.Split(':')[1]);
|
||||
|
||||
public string GetDataGetPdf(string url, string queryParam, out string msg)
|
||||
{
|
||||
using (RequestSevice requestSevice = new RequestSevice(TransferServiceIp, TransferServicePort))
|
||||
{
|
||||
var r = requestSevice.GetResult(TransferServiceTargetAppID, url,
|
||||
JsonConvert.SerializeObject(new
|
||||
{
|
||||
Param = "",
|
||||
//ContentType = "application/json",
|
||||
Method = "get"
|
||||
}));
|
||||
msg = "";
|
||||
var resultJson = (byte[])r.Data;
|
||||
var filename = "a.pdf";
|
||||
var filepath = HttpContext.Current.Server.MapPath("~/" + filename);
|
||||
using (var fs = new FileStream(filepath, FileMode.OpenOrCreate, FileAccess.Write))
|
||||
{
|
||||
fs.Write(resultJson, 0, resultJson.Length);
|
||||
}
|
||||
return "http://localhost:28436/" + filename;
|
||||
}
|
||||
}
|
||||
public string GetDataTest(string name, string cardno, out string msg)
|
||||
{
|
||||
using (RequestSevice requestSevice = new RequestSevice(TransferServiceIp, TransferServicePort))
|
||||
{
|
||||
var param_obj = new JObject();
|
||||
param_obj.Add("type", "nb");
|
||||
param_obj.Add("urls", "http://10.68.138.194/gateway/api/001008002016003/dataSharing/vdjb19VHdIh27Rc5.htm");
|
||||
param_obj.Add("params", "czrkgmsfhm=" + cardno + "&czrkxm=" + name + "&additional={\"powerMatters\":\"许可0000-00\",\"subPowerMatters\":\"许可0000-0101\",\"accesscardId\":\"" + cardno + "\"}");
|
||||
var param = new JObject();
|
||||
param.Add("param", Newtonsoft.Json.JsonConvert.SerializeObject(param_obj));
|
||||
var r = requestSevice.GetResult(TransferServiceTargetAppID, "http://10.19.93.192:8096/api/data/get",
|
||||
JsonConvert.SerializeObject(new
|
||||
{
|
||||
Param = Newtonsoft.Json.JsonConvert.SerializeObject(param),
|
||||
ContentType = "application/json"
|
||||
}));
|
||||
msg = "";
|
||||
var resultJson = r.TransResultInfo.Message;
|
||||
return resultJson;
|
||||
}
|
||||
}
|
||||
public string GetDataJson(string uniscid, out string msg)
|
||||
{
|
||||
using (RequestSevice requestSevice = new RequestSevice(TransferServiceIp, TransferServicePort))
|
||||
{
|
||||
var ts = GetTimeStamp();
|
||||
var param = new JObject
|
||||
{
|
||||
{ "appKey", TransferService_api1_appkey },
|
||||
{ "requestTime", ts.ToString()},
|
||||
{ "sign", GetSign(ts, TransferService_api1_appkey, TransferService_api1_appsecret) },
|
||||
{ "uniscid", uniscid }
|
||||
};
|
||||
var r = requestSevice.GetResult(TransferServiceTargetAppID, TransferService_api2_data_Url,
|
||||
JsonConvert.SerializeObject(new
|
||||
{
|
||||
Param = Newtonsoft.Json.JsonConvert.SerializeObject(param),
|
||||
ContentType = "application/json"
|
||||
}));
|
||||
msg = "";
|
||||
var resultJson = r.TransResultInfo.Message;
|
||||
return resultJson;
|
||||
}
|
||||
}
|
||||
public string GetData(string name, string cardno, out string msg)
|
||||
{
|
||||
using (RequestSevice requestSevice = new RequestSevice(TransferServiceIp, TransferServicePort))
|
||||
{
|
||||
var r = requestSevice.GetResult(TransferServiceTargetAppID, TransferService_api1_data_Url,
|
||||
JsonConvert.SerializeObject(new
|
||||
{
|
||||
Param = GetDefaultParam(TransferService_api1_appkey, TransferService_api1_appsecret) + $"&czrkxm={name}&czrkgmsfhm={cardno}"
|
||||
}));
|
||||
msg = "";
|
||||
var resultJson = r.TransResultInfo.Message;
|
||||
return resultJson;
|
||||
}
|
||||
}
|
||||
private string GetDefaultParam(string appKey, string appSecret)
|
||||
{
|
||||
var ts = GetTimeStamp();
|
||||
return "appKey=" + appKey + "&requestTime=" + ts + "&sign=" + GetSign(ts, appKey, appSecret);
|
||||
}
|
||||
private long GetTimeStamp()
|
||||
{
|
||||
System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1, 0, 0, 0, 0));
|
||||
long t = (long)(DateTime.Now - startTime).TotalMilliseconds;
|
||||
return t;
|
||||
}
|
||||
protected string GetSign(long timeStamp, string appKey, string appSecret)
|
||||
{
|
||||
var str = appKey + appSecret + timeStamp;
|
||||
var r = Md5(str).ToLower();
|
||||
return r;
|
||||
}
|
||||
protected string Md5(string str)
|
||||
{
|
||||
System.Security.Cryptography.MD5 md5 = System.Security.Cryptography.MD5.Create();
|
||||
byte[] data = Encoding.UTF8.GetBytes(str);
|
||||
data = md5.ComputeHash(data);
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for (int i = 0; i < data.Length; i++)
|
||||
{
|
||||
sb.Append(data[i].ToString("x2"));
|
||||
}
|
||||
return sb.ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
24
Test/Test/Content/Site.css
Normal file
24
Test/Test/Content/Site.css
Normal file
@@ -0,0 +1,24 @@
|
||||
body {
|
||||
padding-top: 50px;
|
||||
padding-bottom: 20px;
|
||||
}
|
||||
|
||||
/* Set padding to keep content from hitting the edges */
|
||||
.body-content {
|
||||
padding-left: 15px;
|
||||
padding-right: 15px;
|
||||
}
|
||||
|
||||
/* Override the default bootstrap behavior where horizontal description lists
|
||||
will truncate terms that are too long to fit in the left column
|
||||
*/
|
||||
.dl-horizontal dt {
|
||||
white-space: normal;
|
||||
}
|
||||
|
||||
/* Set width on the form input elements since they're 100% wide by default */
|
||||
input,
|
||||
select,
|
||||
textarea {
|
||||
max-width: 280px;
|
||||
}
|
||||
587
Test/Test/Content/bootstrap-theme.css
vendored
Normal file
587
Test/Test/Content/bootstrap-theme.css
vendored
Normal file
@@ -0,0 +1,587 @@
|
||||
/*!
|
||||
* Bootstrap v3.4.1 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2019 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
*/
|
||||
.btn-default,
|
||||
.btn-primary,
|
||||
.btn-success,
|
||||
.btn-info,
|
||||
.btn-warning,
|
||||
.btn-danger {
|
||||
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
|
||||
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
|
||||
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
|
||||
}
|
||||
.btn-default:active,
|
||||
.btn-primary:active,
|
||||
.btn-success:active,
|
||||
.btn-info:active,
|
||||
.btn-warning:active,
|
||||
.btn-danger:active,
|
||||
.btn-default.active,
|
||||
.btn-primary.active,
|
||||
.btn-success.active,
|
||||
.btn-info.active,
|
||||
.btn-warning.active,
|
||||
.btn-danger.active {
|
||||
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
|
||||
box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
|
||||
}
|
||||
.btn-default.disabled,
|
||||
.btn-primary.disabled,
|
||||
.btn-success.disabled,
|
||||
.btn-info.disabled,
|
||||
.btn-warning.disabled,
|
||||
.btn-danger.disabled,
|
||||
.btn-default[disabled],
|
||||
.btn-primary[disabled],
|
||||
.btn-success[disabled],
|
||||
.btn-info[disabled],
|
||||
.btn-warning[disabled],
|
||||
.btn-danger[disabled],
|
||||
fieldset[disabled] .btn-default,
|
||||
fieldset[disabled] .btn-primary,
|
||||
fieldset[disabled] .btn-success,
|
||||
fieldset[disabled] .btn-info,
|
||||
fieldset[disabled] .btn-warning,
|
||||
fieldset[disabled] .btn-danger {
|
||||
-webkit-box-shadow: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
.btn-default .badge,
|
||||
.btn-primary .badge,
|
||||
.btn-success .badge,
|
||||
.btn-info .badge,
|
||||
.btn-warning .badge,
|
||||
.btn-danger .badge {
|
||||
text-shadow: none;
|
||||
}
|
||||
.btn:active,
|
||||
.btn.active {
|
||||
background-image: none;
|
||||
}
|
||||
.btn-default {
|
||||
background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%);
|
||||
background-image: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e0e0e0));
|
||||
background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||
background-repeat: repeat-x;
|
||||
border-color: #dbdbdb;
|
||||
text-shadow: 0 1px 0 #fff;
|
||||
border-color: #ccc;
|
||||
}
|
||||
.btn-default:hover,
|
||||
.btn-default:focus {
|
||||
background-color: #e0e0e0;
|
||||
background-position: 0 -15px;
|
||||
}
|
||||
.btn-default:active,
|
||||
.btn-default.active {
|
||||
background-color: #e0e0e0;
|
||||
border-color: #dbdbdb;
|
||||
}
|
||||
.btn-default.disabled,
|
||||
.btn-default[disabled],
|
||||
fieldset[disabled] .btn-default,
|
||||
.btn-default.disabled:hover,
|
||||
.btn-default[disabled]:hover,
|
||||
fieldset[disabled] .btn-default:hover,
|
||||
.btn-default.disabled:focus,
|
||||
.btn-default[disabled]:focus,
|
||||
fieldset[disabled] .btn-default:focus,
|
||||
.btn-default.disabled.focus,
|
||||
.btn-default[disabled].focus,
|
||||
fieldset[disabled] .btn-default.focus,
|
||||
.btn-default.disabled:active,
|
||||
.btn-default[disabled]:active,
|
||||
fieldset[disabled] .btn-default:active,
|
||||
.btn-default.disabled.active,
|
||||
.btn-default[disabled].active,
|
||||
fieldset[disabled] .btn-default.active {
|
||||
background-color: #e0e0e0;
|
||||
background-image: none;
|
||||
}
|
||||
.btn-primary {
|
||||
background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%);
|
||||
background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#265a88));
|
||||
background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||
background-repeat: repeat-x;
|
||||
border-color: #245580;
|
||||
}
|
||||
.btn-primary:hover,
|
||||
.btn-primary:focus {
|
||||
background-color: #265a88;
|
||||
background-position: 0 -15px;
|
||||
}
|
||||
.btn-primary:active,
|
||||
.btn-primary.active {
|
||||
background-color: #265a88;
|
||||
border-color: #245580;
|
||||
}
|
||||
.btn-primary.disabled,
|
||||
.btn-primary[disabled],
|
||||
fieldset[disabled] .btn-primary,
|
||||
.btn-primary.disabled:hover,
|
||||
.btn-primary[disabled]:hover,
|
||||
fieldset[disabled] .btn-primary:hover,
|
||||
.btn-primary.disabled:focus,
|
||||
.btn-primary[disabled]:focus,
|
||||
fieldset[disabled] .btn-primary:focus,
|
||||
.btn-primary.disabled.focus,
|
||||
.btn-primary[disabled].focus,
|
||||
fieldset[disabled] .btn-primary.focus,
|
||||
.btn-primary.disabled:active,
|
||||
.btn-primary[disabled]:active,
|
||||
fieldset[disabled] .btn-primary:active,
|
||||
.btn-primary.disabled.active,
|
||||
.btn-primary[disabled].active,
|
||||
fieldset[disabled] .btn-primary.active {
|
||||
background-color: #265a88;
|
||||
background-image: none;
|
||||
}
|
||||
.btn-success {
|
||||
background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);
|
||||
background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#419641));
|
||||
background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||
background-repeat: repeat-x;
|
||||
border-color: #3e8f3e;
|
||||
}
|
||||
.btn-success:hover,
|
||||
.btn-success:focus {
|
||||
background-color: #419641;
|
||||
background-position: 0 -15px;
|
||||
}
|
||||
.btn-success:active,
|
||||
.btn-success.active {
|
||||
background-color: #419641;
|
||||
border-color: #3e8f3e;
|
||||
}
|
||||
.btn-success.disabled,
|
||||
.btn-success[disabled],
|
||||
fieldset[disabled] .btn-success,
|
||||
.btn-success.disabled:hover,
|
||||
.btn-success[disabled]:hover,
|
||||
fieldset[disabled] .btn-success:hover,
|
||||
.btn-success.disabled:focus,
|
||||
.btn-success[disabled]:focus,
|
||||
fieldset[disabled] .btn-success:focus,
|
||||
.btn-success.disabled.focus,
|
||||
.btn-success[disabled].focus,
|
||||
fieldset[disabled] .btn-success.focus,
|
||||
.btn-success.disabled:active,
|
||||
.btn-success[disabled]:active,
|
||||
fieldset[disabled] .btn-success:active,
|
||||
.btn-success.disabled.active,
|
||||
.btn-success[disabled].active,
|
||||
fieldset[disabled] .btn-success.active {
|
||||
background-color: #419641;
|
||||
background-image: none;
|
||||
}
|
||||
.btn-info {
|
||||
background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
|
||||
background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#2aabd2));
|
||||
background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||
background-repeat: repeat-x;
|
||||
border-color: #28a4c9;
|
||||
}
|
||||
.btn-info:hover,
|
||||
.btn-info:focus {
|
||||
background-color: #2aabd2;
|
||||
background-position: 0 -15px;
|
||||
}
|
||||
.btn-info:active,
|
||||
.btn-info.active {
|
||||
background-color: #2aabd2;
|
||||
border-color: #28a4c9;
|
||||
}
|
||||
.btn-info.disabled,
|
||||
.btn-info[disabled],
|
||||
fieldset[disabled] .btn-info,
|
||||
.btn-info.disabled:hover,
|
||||
.btn-info[disabled]:hover,
|
||||
fieldset[disabled] .btn-info:hover,
|
||||
.btn-info.disabled:focus,
|
||||
.btn-info[disabled]:focus,
|
||||
fieldset[disabled] .btn-info:focus,
|
||||
.btn-info.disabled.focus,
|
||||
.btn-info[disabled].focus,
|
||||
fieldset[disabled] .btn-info.focus,
|
||||
.btn-info.disabled:active,
|
||||
.btn-info[disabled]:active,
|
||||
fieldset[disabled] .btn-info:active,
|
||||
.btn-info.disabled.active,
|
||||
.btn-info[disabled].active,
|
||||
fieldset[disabled] .btn-info.active {
|
||||
background-color: #2aabd2;
|
||||
background-image: none;
|
||||
}
|
||||
.btn-warning {
|
||||
background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
|
||||
background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#eb9316));
|
||||
background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||
background-repeat: repeat-x;
|
||||
border-color: #e38d13;
|
||||
}
|
||||
.btn-warning:hover,
|
||||
.btn-warning:focus {
|
||||
background-color: #eb9316;
|
||||
background-position: 0 -15px;
|
||||
}
|
||||
.btn-warning:active,
|
||||
.btn-warning.active {
|
||||
background-color: #eb9316;
|
||||
border-color: #e38d13;
|
||||
}
|
||||
.btn-warning.disabled,
|
||||
.btn-warning[disabled],
|
||||
fieldset[disabled] .btn-warning,
|
||||
.btn-warning.disabled:hover,
|
||||
.btn-warning[disabled]:hover,
|
||||
fieldset[disabled] .btn-warning:hover,
|
||||
.btn-warning.disabled:focus,
|
||||
.btn-warning[disabled]:focus,
|
||||
fieldset[disabled] .btn-warning:focus,
|
||||
.btn-warning.disabled.focus,
|
||||
.btn-warning[disabled].focus,
|
||||
fieldset[disabled] .btn-warning.focus,
|
||||
.btn-warning.disabled:active,
|
||||
.btn-warning[disabled]:active,
|
||||
fieldset[disabled] .btn-warning:active,
|
||||
.btn-warning.disabled.active,
|
||||
.btn-warning[disabled].active,
|
||||
fieldset[disabled] .btn-warning.active {
|
||||
background-color: #eb9316;
|
||||
background-image: none;
|
||||
}
|
||||
.btn-danger {
|
||||
background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
|
||||
background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c12e2a));
|
||||
background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||
background-repeat: repeat-x;
|
||||
border-color: #b92c28;
|
||||
}
|
||||
.btn-danger:hover,
|
||||
.btn-danger:focus {
|
||||
background-color: #c12e2a;
|
||||
background-position: 0 -15px;
|
||||
}
|
||||
.btn-danger:active,
|
||||
.btn-danger.active {
|
||||
background-color: #c12e2a;
|
||||
border-color: #b92c28;
|
||||
}
|
||||
.btn-danger.disabled,
|
||||
.btn-danger[disabled],
|
||||
fieldset[disabled] .btn-danger,
|
||||
.btn-danger.disabled:hover,
|
||||
.btn-danger[disabled]:hover,
|
||||
fieldset[disabled] .btn-danger:hover,
|
||||
.btn-danger.disabled:focus,
|
||||
.btn-danger[disabled]:focus,
|
||||
fieldset[disabled] .btn-danger:focus,
|
||||
.btn-danger.disabled.focus,
|
||||
.btn-danger[disabled].focus,
|
||||
fieldset[disabled] .btn-danger.focus,
|
||||
.btn-danger.disabled:active,
|
||||
.btn-danger[disabled]:active,
|
||||
fieldset[disabled] .btn-danger:active,
|
||||
.btn-danger.disabled.active,
|
||||
.btn-danger[disabled].active,
|
||||
fieldset[disabled] .btn-danger.active {
|
||||
background-color: #c12e2a;
|
||||
background-image: none;
|
||||
}
|
||||
.thumbnail,
|
||||
.img-thumbnail {
|
||||
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
|
||||
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
|
||||
}
|
||||
.dropdown-menu > li > a:hover,
|
||||
.dropdown-menu > li > a:focus {
|
||||
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
|
||||
background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
|
||||
background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
background-color: #e8e8e8;
|
||||
}
|
||||
.dropdown-menu > .active > a,
|
||||
.dropdown-menu > .active > a:hover,
|
||||
.dropdown-menu > .active > a:focus {
|
||||
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
|
||||
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
|
||||
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
background-color: #2e6da4;
|
||||
}
|
||||
.navbar-default {
|
||||
background-image: -webkit-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);
|
||||
background-image: -o-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#f8f8f8));
|
||||
background-image: linear-gradient(to bottom, #ffffff 0%, #f8f8f8 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||
border-radius: 4px;
|
||||
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);
|
||||
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);
|
||||
}
|
||||
.navbar-default .navbar-nav > .open > a,
|
||||
.navbar-default .navbar-nav > .active > a {
|
||||
background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
|
||||
background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#dbdbdb), to(#e2e2e2));
|
||||
background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
-webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);
|
||||
box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);
|
||||
}
|
||||
.navbar-brand,
|
||||
.navbar-nav > li > a {
|
||||
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);
|
||||
}
|
||||
.navbar-inverse {
|
||||
background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%);
|
||||
background-image: -o-linear-gradient(top, #3c3c3c 0%, #222 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#3c3c3c), to(#222));
|
||||
background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||
border-radius: 4px;
|
||||
}
|
||||
.navbar-inverse .navbar-nav > .open > a,
|
||||
.navbar-inverse .navbar-nav > .active > a {
|
||||
background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%);
|
||||
background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#080808), to(#0f0f0f));
|
||||
background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
-webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);
|
||||
box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);
|
||||
}
|
||||
.navbar-inverse .navbar-brand,
|
||||
.navbar-inverse .navbar-nav > li > a {
|
||||
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
|
||||
}
|
||||
.navbar-static-top,
|
||||
.navbar-fixed-top,
|
||||
.navbar-fixed-bottom {
|
||||
border-radius: 0;
|
||||
}
|
||||
@media (max-width: 767px) {
|
||||
.navbar .navbar-nav .open .dropdown-menu > .active > a,
|
||||
.navbar .navbar-nav .open .dropdown-menu > .active > a:hover,
|
||||
.navbar .navbar-nav .open .dropdown-menu > .active > a:focus {
|
||||
color: #fff;
|
||||
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
|
||||
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
|
||||
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
}
|
||||
.alert {
|
||||
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);
|
||||
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);
|
||||
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);
|
||||
}
|
||||
.alert-success {
|
||||
background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
|
||||
background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#c8e5bc));
|
||||
background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
border-color: #b2dba1;
|
||||
}
|
||||
.alert-info {
|
||||
background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
|
||||
background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#b9def0));
|
||||
background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
border-color: #9acfea;
|
||||
}
|
||||
.alert-warning {
|
||||
background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
|
||||
background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#f8efc0));
|
||||
background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
border-color: #f5e79e;
|
||||
}
|
||||
.alert-danger {
|
||||
background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
|
||||
background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#e7c3c3));
|
||||
background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
border-color: #dca7a7;
|
||||
}
|
||||
.progress {
|
||||
background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
|
||||
background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#ebebeb), to(#f5f5f5));
|
||||
background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
.progress-bar {
|
||||
background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%);
|
||||
background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#286090));
|
||||
background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
.progress-bar-success {
|
||||
background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);
|
||||
background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#449d44));
|
||||
background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
.progress-bar-info {
|
||||
background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
|
||||
background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#31b0d5));
|
||||
background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
.progress-bar-warning {
|
||||
background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
|
||||
background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#ec971f));
|
||||
background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
.progress-bar-danger {
|
||||
background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);
|
||||
background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c9302c));
|
||||
background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
.progress-bar-striped {
|
||||
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
|
||||
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
|
||||
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
|
||||
}
|
||||
.list-group {
|
||||
border-radius: 4px;
|
||||
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
|
||||
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
|
||||
}
|
||||
.list-group-item.active,
|
||||
.list-group-item.active:hover,
|
||||
.list-group-item.active:focus {
|
||||
text-shadow: 0 -1px 0 #286090;
|
||||
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%);
|
||||
background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2b669a));
|
||||
background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
border-color: #2b669a;
|
||||
}
|
||||
.list-group-item.active .badge,
|
||||
.list-group-item.active:hover .badge,
|
||||
.list-group-item.active:focus .badge {
|
||||
text-shadow: none;
|
||||
}
|
||||
.panel {
|
||||
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
|
||||
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
|
||||
}
|
||||
.panel-default > .panel-heading {
|
||||
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
|
||||
background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
|
||||
background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
.panel-primary > .panel-heading {
|
||||
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
|
||||
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
|
||||
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
.panel-success > .panel-heading {
|
||||
background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
|
||||
background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#d0e9c6));
|
||||
background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
.panel-info > .panel-heading {
|
||||
background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
|
||||
background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#c4e3f3));
|
||||
background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
.panel-warning > .panel-heading {
|
||||
background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
|
||||
background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#faf2cc));
|
||||
background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
.panel-danger > .panel-heading {
|
||||
background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
|
||||
background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#ebcccc));
|
||||
background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
.well {
|
||||
background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
|
||||
background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#f5f5f5));
|
||||
background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
border-color: #dcdcdc;
|
||||
-webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);
|
||||
box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
/*# sourceMappingURL=bootstrap-theme.css.map */
|
||||
1
Test/Test/Content/bootstrap-theme.css.map
Normal file
1
Test/Test/Content/bootstrap-theme.css.map
Normal file
File diff suppressed because one or more lines are too long
6
Test/Test/Content/bootstrap-theme.min.css
vendored
Normal file
6
Test/Test/Content/bootstrap-theme.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
1
Test/Test/Content/bootstrap-theme.min.css.map
Normal file
1
Test/Test/Content/bootstrap-theme.min.css.map
Normal file
File diff suppressed because one or more lines are too long
6834
Test/Test/Content/bootstrap.css
vendored
Normal file
6834
Test/Test/Content/bootstrap.css
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1
Test/Test/Content/bootstrap.css.map
Normal file
1
Test/Test/Content/bootstrap.css.map
Normal file
File diff suppressed because one or more lines are too long
6
Test/Test/Content/bootstrap.min.css
vendored
Normal file
6
Test/Test/Content/bootstrap.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
1
Test/Test/Content/bootstrap.min.css.map
Normal file
1
Test/Test/Content/bootstrap.min.css.map
Normal file
File diff suppressed because one or more lines are too long
38
Test/Test/Controllers/HomeController.cs
Normal file
38
Test/Test/Controllers/HomeController.cs
Normal file
@@ -0,0 +1,38 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.Mvc;
|
||||
|
||||
namespace Test.Controllers
|
||||
{
|
||||
public class HomeController : Controller
|
||||
{
|
||||
public ActionResult Index()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
|
||||
public ActionResult About()
|
||||
{
|
||||
ViewBag.Message = "Your application description page.";
|
||||
|
||||
return View();
|
||||
}
|
||||
|
||||
public ActionResult Contact()
|
||||
{
|
||||
ViewBag.Message = "Your contact page.";
|
||||
|
||||
return View();
|
||||
}
|
||||
public ActionResult Test()
|
||||
{
|
||||
//var rslt = new Test.App_Start.Service().GetData("葛阳涛", "331082199812199231", out string msg);
|
||||
//var rslt = new Test.App_Start.Service().GetDataJson("91330203309008473L", out string msg);
|
||||
var rslt = new Test.App_Start.Service().GetDataGetPdf("http://59.202.42.251/licensename/elclicencepdf/gsj/yyzz/ML000005f4db2368dc8ef955c0b779ac08431dec.pdf?Expires=1639982748%26OSSAccessKeyId=0WfSZ0dsyQzmfILF%26Signature=48%2FLBhT59UdGJkyvJSldSe3CuFE%3D", "", out string msg);
|
||||
ViewBag.Data = rslt;
|
||||
return View();
|
||||
}
|
||||
}
|
||||
}
|
||||
1
Test/Test/Global.asax
Normal file
1
Test/Test/Global.asax
Normal file
@@ -0,0 +1 @@
|
||||
<%@ Application Codebehind="Global.asax.cs" Inherits="Test.MvcApplication" Language="C#" %>
|
||||
21
Test/Test/Global.asax.cs
Normal file
21
Test/Test/Global.asax.cs
Normal file
@@ -0,0 +1,21 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.Mvc;
|
||||
using System.Web.Optimization;
|
||||
using System.Web.Routing;
|
||||
|
||||
namespace Test
|
||||
{
|
||||
public class MvcApplication : System.Web.HttpApplication
|
||||
{
|
||||
protected void Application_Start()
|
||||
{
|
||||
AreaRegistration.RegisterAllAreas();
|
||||
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
|
||||
RouteConfig.RegisterRoutes(RouteTable.Routes);
|
||||
BundleConfig.RegisterBundles(BundleTable.Bundles);
|
||||
}
|
||||
}
|
||||
}
|
||||
35
Test/Test/Properties/AssemblyInfo.cs
Normal file
35
Test/Test/Properties/AssemblyInfo.cs
Normal file
@@ -0,0 +1,35 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// 有关程序集的常规信息是通过以下项进行控制的
|
||||
// 控制。更改这些特性值可修改
|
||||
// 与程序集关联的信息。
|
||||
[assembly: AssemblyTitle("Test")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("Test")]
|
||||
[assembly: AssemblyCopyright("版权所有(C) 2021")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// 将 ComVisible 设置为 false 将使此程序集中的类型
|
||||
// 对 COM 组件不可见。如果需要
|
||||
// 从 COM 访问此程序集中的某个类型,请针对该类型将 ComVisible 特性设置为 true。
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// 如果此项目向 COM 公开,则下列 GUID 用于 typelib 的 ID
|
||||
[assembly: Guid("fcae0f02-64a1-4cfa-bf17-4020e8b8bf9d")]
|
||||
|
||||
// 程序集的版本信息由下列四个值组成:
|
||||
//
|
||||
// 主版本
|
||||
// 次版本
|
||||
// 内部版本号
|
||||
// 修订版本
|
||||
//
|
||||
// 你可以指定所有值,也可以让修订版本和内部版本号采用默认值,
|
||||
// 方法是按如下所示使用 "*":
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
17
Test/Test/Properties/PublishProfiles/FolderProfile.pubxml
Normal file
17
Test/Test/Properties/PublishProfiles/FolderProfile.pubxml
Normal file
@@ -0,0 +1,17 @@
|
||||
<?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>True</DeleteExistingFiles>
|
||||
<ExcludeApp_Data>False</ExcludeApp_Data>
|
||||
<LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
|
||||
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
|
||||
<LastUsedPlatform>Any CPU</LastUsedPlatform>
|
||||
<PublishProvider>FileSystem</PublishProvider>
|
||||
<PublishUrl>D:\1_发布程序\拆迁调取共享接口Test</PublishUrl>
|
||||
<WebPublishMethod>FileSystem</WebPublishMethod>
|
||||
<SiteUrlToLaunchAfterPublish />
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
282
Test/Test/Properties/PublishProfiles/FolderProfile.pubxml.user
Normal file
282
Test/Test/Properties/PublishProfiles/FolderProfile.pubxml.user
Normal file
@@ -0,0 +1,282 @@
|
||||
<?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>
|
||||
<History>True|2021-11-30T07:31:45.5250019Z;False|2021-11-30T15:31:21.7606016+08:00;</History>
|
||||
<_PublishTargetUrl>D:\1_发布程序\拆迁调取共享接口Test</_PublishTargetUrl>
|
||||
</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/Getf.Service.Transfer.Request.SDK.dll">
|
||||
<publishTime>11/30/2021 15:31:20</publishTime>
|
||||
</File>
|
||||
<File Include="bin/Getf.Service.Transfer.Request.SDK.pdb">
|
||||
<publishTime>11/30/2021 15:31:20</publishTime>
|
||||
</File>
|
||||
<File Include="bin/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll">
|
||||
<publishTime>09/05/2018 16:10:50</publishTime>
|
||||
</File>
|
||||
<File Include="bin/Microsoft.Web.Infrastructure.dll">
|
||||
<publishTime>07/25/2012 11:48:56</publishTime>
|
||||
</File>
|
||||
<File Include="bin/Newtonsoft.Json.dll">
|
||||
<publishTime>04/22/2019 01:06:16</publishTime>
|
||||
</File>
|
||||
<File Include="bin/roslyn/csc.exe">
|
||||
<publishTime>06/27/2016 21:50:24</publishTime>
|
||||
</File>
|
||||
<File Include="bin/roslyn/csc.exe.config">
|
||||
<publishTime>06/27/2016 21:50:24</publishTime>
|
||||
</File>
|
||||
<File Include="bin/roslyn/csc.rsp">
|
||||
<publishTime>06/27/2016 21:50:24</publishTime>
|
||||
</File>
|
||||
<File Include="bin/roslyn/csi.exe">
|
||||
<publishTime>06/27/2016 21:50:24</publishTime>
|
||||
</File>
|
||||
<File Include="bin/roslyn/csi.rsp">
|
||||
<publishTime>06/27/2016 21:50:24</publishTime>
|
||||
</File>
|
||||
<File Include="bin/roslyn/Microsoft.Build.Tasks.CodeAnalysis.dll">
|
||||
<publishTime>06/27/2016 21:50:24</publishTime>
|
||||
</File>
|
||||
<File Include="bin/roslyn/Microsoft.CodeAnalysis.CSharp.dll">
|
||||
<publishTime>06/27/2016 21:50:24</publishTime>
|
||||
</File>
|
||||
<File Include="bin/roslyn/Microsoft.CodeAnalysis.CSharp.Scripting.dll">
|
||||
<publishTime>06/27/2016 21:50:24</publishTime>
|
||||
</File>
|
||||
<File Include="bin/roslyn/Microsoft.CodeAnalysis.dll">
|
||||
<publishTime>06/27/2016 21:50:24</publishTime>
|
||||
</File>
|
||||
<File Include="bin/roslyn/Microsoft.CodeAnalysis.Scripting.dll">
|
||||
<publishTime>06/27/2016 21:50:24</publishTime>
|
||||
</File>
|
||||
<File Include="bin/roslyn/Microsoft.CodeAnalysis.VisualBasic.dll">
|
||||
<publishTime>06/27/2016 21:50:24</publishTime>
|
||||
</File>
|
||||
<File Include="bin/roslyn/Microsoft.CSharp.Core.targets">
|
||||
<publishTime>06/27/2016 21:50:24</publishTime>
|
||||
</File>
|
||||
<File Include="bin/roslyn/Microsoft.DiaSymReader.Native.amd64.dll">
|
||||
<publishTime>06/27/2016 21:50:24</publishTime>
|
||||
</File>
|
||||
<File Include="bin/roslyn/Microsoft.DiaSymReader.Native.x86.dll">
|
||||
<publishTime>06/27/2016 21:50:24</publishTime>
|
||||
</File>
|
||||
<File Include="bin/roslyn/Microsoft.VisualBasic.Core.targets">
|
||||
<publishTime>06/27/2016 21:50:24</publishTime>
|
||||
</File>
|
||||
<File Include="bin/roslyn/System.AppContext.dll">
|
||||
<publishTime>06/27/2016 21:50:24</publishTime>
|
||||
</File>
|
||||
<File Include="bin/roslyn/System.Collections.Immutable.dll">
|
||||
<publishTime>06/27/2016 21:50:24</publishTime>
|
||||
</File>
|
||||
<File Include="bin/roslyn/System.Diagnostics.StackTrace.dll">
|
||||
<publishTime>06/27/2016 21:50:24</publishTime>
|
||||
</File>
|
||||
<File Include="bin/roslyn/System.IO.FileSystem.dll">
|
||||
<publishTime>06/27/2016 21:50:24</publishTime>
|
||||
</File>
|
||||
<File Include="bin/roslyn/System.IO.FileSystem.Primitives.dll">
|
||||
<publishTime>06/27/2016 21:50:24</publishTime>
|
||||
</File>
|
||||
<File Include="bin/roslyn/System.Reflection.Metadata.dll">
|
||||
<publishTime>06/27/2016 21:50:24</publishTime>
|
||||
</File>
|
||||
<File Include="bin/roslyn/vbc.exe">
|
||||
<publishTime>06/27/2016 21:50:24</publishTime>
|
||||
</File>
|
||||
<File Include="bin/roslyn/vbc.exe.config">
|
||||
<publishTime>06/27/2016 21:50:24</publishTime>
|
||||
</File>
|
||||
<File Include="bin/roslyn/vbc.rsp">
|
||||
<publishTime>06/27/2016 21:50:24</publishTime>
|
||||
</File>
|
||||
<File Include="bin/roslyn/VBCSCompiler.exe">
|
||||
<publishTime>06/27/2016 21:50:24</publishTime>
|
||||
</File>
|
||||
<File Include="bin/roslyn/VBCSCompiler.exe.config">
|
||||
<publishTime>06/27/2016 21:50:24</publishTime>
|
||||
</File>
|
||||
<File Include="bin/SuperSocket.ClientEngine.dll">
|
||||
<publishTime>06/08/2017 03:59:40</publishTime>
|
||||
</File>
|
||||
<File Include="bin/SuperSocket.ProtoBase.dll">
|
||||
<publishTime>06/07/2017 18:49:40</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.Optimization.dll">
|
||||
<publishTime>02/11/2014 15:26:04</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/Test.dll">
|
||||
<publishTime>11/30/2021 15:31:39</publishTime>
|
||||
</File>
|
||||
<File Include="bin/Test.pdb">
|
||||
<publishTime>11/30/2021 15:31:39</publishTime>
|
||||
</File>
|
||||
<File Include="bin/WebGrease.dll">
|
||||
<publishTime>01/23/2014 13:57:34</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.Optimization.resources.dll">
|
||||
<publishTime>02/11/2014 23:28:40</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="Content/bootstrap-theme.css">
|
||||
<publishTime>11/30/2021 12:34:23</publishTime>
|
||||
</File>
|
||||
<File Include="Content/bootstrap-theme.css.map">
|
||||
<publishTime>11/30/2021 12:34:23</publishTime>
|
||||
</File>
|
||||
<File Include="Content/bootstrap-theme.min.css">
|
||||
<publishTime>11/30/2021 12:34:23</publishTime>
|
||||
</File>
|
||||
<File Include="Content/bootstrap-theme.min.css.map">
|
||||
<publishTime>11/30/2021 12:34:23</publishTime>
|
||||
</File>
|
||||
<File Include="Content/bootstrap.css">
|
||||
<publishTime>11/30/2021 12:34:23</publishTime>
|
||||
</File>
|
||||
<File Include="Content/bootstrap.css.map">
|
||||
<publishTime>11/30/2021 12:34:23</publishTime>
|
||||
</File>
|
||||
<File Include="Content/bootstrap.min.css">
|
||||
<publishTime>11/30/2021 12:34:23</publishTime>
|
||||
</File>
|
||||
<File Include="Content/bootstrap.min.css.map">
|
||||
<publishTime>11/30/2021 12:34:23</publishTime>
|
||||
</File>
|
||||
<File Include="Content/Site.css">
|
||||
<publishTime>11/30/2021 12:34:18</publishTime>
|
||||
</File>
|
||||
<File Include="favicon.ico">
|
||||
<publishTime>11/30/2021 12:34:18</publishTime>
|
||||
</File>
|
||||
<File Include="fonts/glyphicons-halflings-regular.eot">
|
||||
<publishTime>11/30/2021 12:34:23</publishTime>
|
||||
</File>
|
||||
<File Include="fonts/glyphicons-halflings-regular.svg">
|
||||
<publishTime>11/30/2021 12:34:23</publishTime>
|
||||
</File>
|
||||
<File Include="fonts/glyphicons-halflings-regular.ttf">
|
||||
<publishTime>11/30/2021 12:34:23</publishTime>
|
||||
</File>
|
||||
<File Include="fonts/glyphicons-halflings-regular.woff">
|
||||
<publishTime>11/30/2021 12:34:23</publishTime>
|
||||
</File>
|
||||
<File Include="fonts/glyphicons-halflings-regular.woff2">
|
||||
<publishTime>11/30/2021 12:34:23</publishTime>
|
||||
</File>
|
||||
<File Include="Global.asax">
|
||||
<publishTime>11/30/2021 12:34:18</publishTime>
|
||||
</File>
|
||||
<File Include="Scripts/bootstrap.js">
|
||||
<publishTime>11/30/2021 12:34:23</publishTime>
|
||||
</File>
|
||||
<File Include="Scripts/bootstrap.min.js">
|
||||
<publishTime>11/30/2021 12:34:23</publishTime>
|
||||
</File>
|
||||
<File Include="Scripts/jquery-3.4.1.js">
|
||||
<publishTime>11/30/2021 12:34:24</publishTime>
|
||||
</File>
|
||||
<File Include="Scripts/jquery-3.4.1.min.js">
|
||||
<publishTime>11/30/2021 12:34:24</publishTime>
|
||||
</File>
|
||||
<File Include="Scripts/jquery-3.4.1.min.map">
|
||||
<publishTime>11/30/2021 12:34:24</publishTime>
|
||||
</File>
|
||||
<File Include="Scripts/jquery-3.4.1.slim.js">
|
||||
<publishTime>11/30/2021 12:34:24</publishTime>
|
||||
</File>
|
||||
<File Include="Scripts/jquery-3.4.1.slim.min.js">
|
||||
<publishTime>11/30/2021 12:34:24</publishTime>
|
||||
</File>
|
||||
<File Include="Scripts/jquery-3.4.1.slim.min.map">
|
||||
<publishTime>11/30/2021 12:34:24</publishTime>
|
||||
</File>
|
||||
<File Include="Scripts/jquery.validate.js">
|
||||
<publishTime>11/30/2021 12:34:32</publishTime>
|
||||
</File>
|
||||
<File Include="Scripts/jquery.validate.min.js">
|
||||
<publishTime>11/30/2021 12:34:32</publishTime>
|
||||
</File>
|
||||
<File Include="Scripts/jquery.validate.unobtrusive.js">
|
||||
<publishTime>11/30/2021 12:34:32</publishTime>
|
||||
</File>
|
||||
<File Include="Scripts/jquery.validate.unobtrusive.min.js">
|
||||
<publishTime>11/30/2021 12:34:32</publishTime>
|
||||
</File>
|
||||
<File Include="Scripts/modernizr-2.8.3.js">
|
||||
<publishTime>11/30/2021 12:34:31</publishTime>
|
||||
</File>
|
||||
<File Include="Views/Home/About.cshtml">
|
||||
<publishTime>11/30/2021 12:34:18</publishTime>
|
||||
</File>
|
||||
<File Include="Views/Home/Contact.cshtml">
|
||||
<publishTime>11/30/2021 12:34:18</publishTime>
|
||||
</File>
|
||||
<File Include="Views/Home/Index.cshtml">
|
||||
<publishTime>11/30/2021 14:48:29</publishTime>
|
||||
</File>
|
||||
<File Include="Views/Home/Test.cshtml">
|
||||
<publishTime>11/30/2021 12:40:42</publishTime>
|
||||
</File>
|
||||
<File Include="Views/Shared/Error.cshtml">
|
||||
<publishTime>11/30/2021 12:34:18</publishTime>
|
||||
</File>
|
||||
<File Include="Views/Shared/_Layout.cshtml">
|
||||
<publishTime>11/30/2021 12:34:18</publishTime>
|
||||
</File>
|
||||
<File Include="Views/Web.config">
|
||||
<publishTime>11/30/2021 12:34:18</publishTime>
|
||||
</File>
|
||||
<File Include="Views/_ViewStart.cshtml">
|
||||
<publishTime>11/30/2021 12:34:18</publishTime>
|
||||
</File>
|
||||
<File Include="Web.config">
|
||||
<publishTime>11/30/2021 15:31:41</publishTime>
|
||||
</File>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
2580
Test/Test/Scripts/bootstrap.js
vendored
Normal file
2580
Test/Test/Scripts/bootstrap.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
6
Test/Test/Scripts/bootstrap.min.js
vendored
Normal file
6
Test/Test/Scripts/bootstrap.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
2670
Test/Test/Scripts/jquery-3.4.1.intellisense.js
vendored
Normal file
2670
Test/Test/Scripts/jquery-3.4.1.intellisense.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
10598
Test/Test/Scripts/jquery-3.4.1.js
vendored
Normal file
10598
Test/Test/Scripts/jquery-3.4.1.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
2
Test/Test/Scripts/jquery-3.4.1.min.js
vendored
Normal file
2
Test/Test/Scripts/jquery-3.4.1.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
Test/Test/Scripts/jquery-3.4.1.min.map
Normal file
1
Test/Test/Scripts/jquery-3.4.1.min.map
Normal file
File diff suppressed because one or more lines are too long
8495
Test/Test/Scripts/jquery-3.4.1.slim.js
Normal file
8495
Test/Test/Scripts/jquery-3.4.1.slim.js
Normal file
File diff suppressed because it is too large
Load Diff
2
Test/Test/Scripts/jquery-3.4.1.slim.min.js
vendored
Normal file
2
Test/Test/Scripts/jquery-3.4.1.slim.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
Test/Test/Scripts/jquery-3.4.1.slim.min.map
Normal file
1
Test/Test/Scripts/jquery-3.4.1.slim.min.map
Normal file
File diff suppressed because one or more lines are too long
1288
Test/Test/Scripts/jquery.validate-vsdoc.js
vendored
Normal file
1288
Test/Test/Scripts/jquery.validate-vsdoc.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1601
Test/Test/Scripts/jquery.validate.js
vendored
Normal file
1601
Test/Test/Scripts/jquery.validate.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
4
Test/Test/Scripts/jquery.validate.min.js
vendored
Normal file
4
Test/Test/Scripts/jquery.validate.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
432
Test/Test/Scripts/jquery.validate.unobtrusive.js
vendored
Normal file
432
Test/Test/Scripts/jquery.validate.unobtrusive.js
vendored
Normal file
@@ -0,0 +1,432 @@
|
||||
// Unobtrusive validation support library for jQuery and jQuery Validate
|
||||
// Copyright (c) .NET Foundation. All rights reserved.
|
||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
// @version v3.2.11
|
||||
|
||||
/*jslint white: true, browser: true, onevar: true, undef: true, nomen: true, eqeqeq: true, plusplus: true, bitwise: true, regexp: true, newcap: true, immed: true, strict: false */
|
||||
/*global document: false, jQuery: false */
|
||||
|
||||
(function (factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
// AMD. Register as an anonymous module.
|
||||
define("jquery.validate.unobtrusive", ['jquery-validation'], factory);
|
||||
} else if (typeof module === 'object' && module.exports) {
|
||||
// CommonJS-like environments that support module.exports
|
||||
module.exports = factory(require('jquery-validation'));
|
||||
} else {
|
||||
// Browser global
|
||||
jQuery.validator.unobtrusive = factory(jQuery);
|
||||
}
|
||||
}(function ($) {
|
||||
var $jQval = $.validator,
|
||||
adapters,
|
||||
data_validation = "unobtrusiveValidation";
|
||||
|
||||
function setValidationValues(options, ruleName, value) {
|
||||
options.rules[ruleName] = value;
|
||||
if (options.message) {
|
||||
options.messages[ruleName] = options.message;
|
||||
}
|
||||
}
|
||||
|
||||
function splitAndTrim(value) {
|
||||
return value.replace(/^\s+|\s+$/g, "").split(/\s*,\s*/g);
|
||||
}
|
||||
|
||||
function escapeAttributeValue(value) {
|
||||
// As mentioned on http://api.jquery.com/category/selectors/
|
||||
return value.replace(/([!"#$%&'()*+,./:;<=>?@\[\\\]^`{|}~])/g, "\\$1");
|
||||
}
|
||||
|
||||
function getModelPrefix(fieldName) {
|
||||
return fieldName.substr(0, fieldName.lastIndexOf(".") + 1);
|
||||
}
|
||||
|
||||
function appendModelPrefix(value, prefix) {
|
||||
if (value.indexOf("*.") === 0) {
|
||||
value = value.replace("*.", prefix);
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
function onError(error, inputElement) { // 'this' is the form element
|
||||
var container = $(this).find("[data-valmsg-for='" + escapeAttributeValue(inputElement[0].name) + "']"),
|
||||
replaceAttrValue = container.attr("data-valmsg-replace"),
|
||||
replace = replaceAttrValue ? $.parseJSON(replaceAttrValue) !== false : null;
|
||||
|
||||
container.removeClass("field-validation-valid").addClass("field-validation-error");
|
||||
error.data("unobtrusiveContainer", container);
|
||||
|
||||
if (replace) {
|
||||
container.empty();
|
||||
error.removeClass("input-validation-error").appendTo(container);
|
||||
}
|
||||
else {
|
||||
error.hide();
|
||||
}
|
||||
}
|
||||
|
||||
function onErrors(event, validator) { // 'this' is the form element
|
||||
var container = $(this).find("[data-valmsg-summary=true]"),
|
||||
list = container.find("ul");
|
||||
|
||||
if (list && list.length && validator.errorList.length) {
|
||||
list.empty();
|
||||
container.addClass("validation-summary-errors").removeClass("validation-summary-valid");
|
||||
|
||||
$.each(validator.errorList, function () {
|
||||
$("<li />").html(this.message).appendTo(list);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function onSuccess(error) { // 'this' is the form element
|
||||
var container = error.data("unobtrusiveContainer");
|
||||
|
||||
if (container) {
|
||||
var replaceAttrValue = container.attr("data-valmsg-replace"),
|
||||
replace = replaceAttrValue ? $.parseJSON(replaceAttrValue) : null;
|
||||
|
||||
container.addClass("field-validation-valid").removeClass("field-validation-error");
|
||||
error.removeData("unobtrusiveContainer");
|
||||
|
||||
if (replace) {
|
||||
container.empty();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function onReset(event) { // 'this' is the form element
|
||||
var $form = $(this),
|
||||
key = '__jquery_unobtrusive_validation_form_reset';
|
||||
if ($form.data(key)) {
|
||||
return;
|
||||
}
|
||||
// Set a flag that indicates we're currently resetting the form.
|
||||
$form.data(key, true);
|
||||
try {
|
||||
$form.data("validator").resetForm();
|
||||
} finally {
|
||||
$form.removeData(key);
|
||||
}
|
||||
|
||||
$form.find(".validation-summary-errors")
|
||||
.addClass("validation-summary-valid")
|
||||
.removeClass("validation-summary-errors");
|
||||
$form.find(".field-validation-error")
|
||||
.addClass("field-validation-valid")
|
||||
.removeClass("field-validation-error")
|
||||
.removeData("unobtrusiveContainer")
|
||||
.find(">*") // If we were using valmsg-replace, get the underlying error
|
||||
.removeData("unobtrusiveContainer");
|
||||
}
|
||||
|
||||
function validationInfo(form) {
|
||||
var $form = $(form),
|
||||
result = $form.data(data_validation),
|
||||
onResetProxy = $.proxy(onReset, form),
|
||||
defaultOptions = $jQval.unobtrusive.options || {},
|
||||
execInContext = function (name, args) {
|
||||
var func = defaultOptions[name];
|
||||
func && $.isFunction(func) && func.apply(form, args);
|
||||
};
|
||||
|
||||
if (!result) {
|
||||
result = {
|
||||
options: { // options structure passed to jQuery Validate's validate() method
|
||||
errorClass: defaultOptions.errorClass || "input-validation-error",
|
||||
errorElement: defaultOptions.errorElement || "span",
|
||||
errorPlacement: function () {
|
||||
onError.apply(form, arguments);
|
||||
execInContext("errorPlacement", arguments);
|
||||
},
|
||||
invalidHandler: function () {
|
||||
onErrors.apply(form, arguments);
|
||||
execInContext("invalidHandler", arguments);
|
||||
},
|
||||
messages: {},
|
||||
rules: {},
|
||||
success: function () {
|
||||
onSuccess.apply(form, arguments);
|
||||
execInContext("success", arguments);
|
||||
}
|
||||
},
|
||||
attachValidation: function () {
|
||||
$form
|
||||
.off("reset." + data_validation, onResetProxy)
|
||||
.on("reset." + data_validation, onResetProxy)
|
||||
.validate(this.options);
|
||||
},
|
||||
validate: function () { // a validation function that is called by unobtrusive Ajax
|
||||
$form.validate();
|
||||
return $form.valid();
|
||||
}
|
||||
};
|
||||
$form.data(data_validation, result);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
$jQval.unobtrusive = {
|
||||
adapters: [],
|
||||
|
||||
parseElement: function (element, skipAttach) {
|
||||
/// <summary>
|
||||
/// Parses a single HTML element for unobtrusive validation attributes.
|
||||
/// </summary>
|
||||
/// <param name="element" domElement="true">The HTML element to be parsed.</param>
|
||||
/// <param name="skipAttach" type="Boolean">[Optional] true to skip attaching the
|
||||
/// validation to the form. If parsing just this single element, you should specify true.
|
||||
/// If parsing several elements, you should specify false, and manually attach the validation
|
||||
/// to the form when you are finished. The default is false.</param>
|
||||
var $element = $(element),
|
||||
form = $element.parents("form")[0],
|
||||
valInfo, rules, messages;
|
||||
|
||||
if (!form) { // Cannot do client-side validation without a form
|
||||
return;
|
||||
}
|
||||
|
||||
valInfo = validationInfo(form);
|
||||
valInfo.options.rules[element.name] = rules = {};
|
||||
valInfo.options.messages[element.name] = messages = {};
|
||||
|
||||
$.each(this.adapters, function () {
|
||||
var prefix = "data-val-" + this.name,
|
||||
message = $element.attr(prefix),
|
||||
paramValues = {};
|
||||
|
||||
if (message !== undefined) { // Compare against undefined, because an empty message is legal (and falsy)
|
||||
prefix += "-";
|
||||
|
||||
$.each(this.params, function () {
|
||||
paramValues[this] = $element.attr(prefix + this);
|
||||
});
|
||||
|
||||
this.adapt({
|
||||
element: element,
|
||||
form: form,
|
||||
message: message,
|
||||
params: paramValues,
|
||||
rules: rules,
|
||||
messages: messages
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
$.extend(rules, { "__dummy__": true });
|
||||
|
||||
if (!skipAttach) {
|
||||
valInfo.attachValidation();
|
||||
}
|
||||
},
|
||||
|
||||
parse: function (selector) {
|
||||
/// <summary>
|
||||
/// Parses all the HTML elements in the specified selector. It looks for input elements decorated
|
||||
/// with the [data-val=true] attribute value and enables validation according to the data-val-*
|
||||
/// attribute values.
|
||||
/// </summary>
|
||||
/// <param name="selector" type="String">Any valid jQuery selector.</param>
|
||||
|
||||
// $forms includes all forms in selector's DOM hierarchy (parent, children and self) that have at least one
|
||||
// element with data-val=true
|
||||
var $selector = $(selector),
|
||||
$forms = $selector.parents()
|
||||
.addBack()
|
||||
.filter("form")
|
||||
.add($selector.find("form"))
|
||||
.has("[data-val=true]");
|
||||
|
||||
$selector.find("[data-val=true]").each(function () {
|
||||
$jQval.unobtrusive.parseElement(this, true);
|
||||
});
|
||||
|
||||
$forms.each(function () {
|
||||
var info = validationInfo(this);
|
||||
if (info) {
|
||||
info.attachValidation();
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
adapters = $jQval.unobtrusive.adapters;
|
||||
|
||||
adapters.add = function (adapterName, params, fn) {
|
||||
/// <summary>Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation.</summary>
|
||||
/// <param name="adapterName" type="String">The name of the adapter to be added. This matches the name used
|
||||
/// in the data-val-nnnn HTML attribute (where nnnn is the adapter name).</param>
|
||||
/// <param name="params" type="Array" optional="true">[Optional] An array of parameter names (strings) that will
|
||||
/// be extracted from the data-val-nnnn-mmmm HTML attributes (where nnnn is the adapter name, and
|
||||
/// mmmm is the parameter name).</param>
|
||||
/// <param name="fn" type="Function">The function to call, which adapts the values from the HTML
|
||||
/// attributes into jQuery Validate rules and/or messages.</param>
|
||||
/// <returns type="jQuery.validator.unobtrusive.adapters" />
|
||||
if (!fn) { // Called with no params, just a function
|
||||
fn = params;
|
||||
params = [];
|
||||
}
|
||||
this.push({ name: adapterName, params: params, adapt: fn });
|
||||
return this;
|
||||
};
|
||||
|
||||
adapters.addBool = function (adapterName, ruleName) {
|
||||
/// <summary>Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation, where
|
||||
/// the jQuery Validate validation rule has no parameter values.</summary>
|
||||
/// <param name="adapterName" type="String">The name of the adapter to be added. This matches the name used
|
||||
/// in the data-val-nnnn HTML attribute (where nnnn is the adapter name).</param>
|
||||
/// <param name="ruleName" type="String" optional="true">[Optional] The name of the jQuery Validate rule. If not provided, the value
|
||||
/// of adapterName will be used instead.</param>
|
||||
/// <returns type="jQuery.validator.unobtrusive.adapters" />
|
||||
return this.add(adapterName, function (options) {
|
||||
setValidationValues(options, ruleName || adapterName, true);
|
||||
});
|
||||
};
|
||||
|
||||
adapters.addMinMax = function (adapterName, minRuleName, maxRuleName, minMaxRuleName, minAttribute, maxAttribute) {
|
||||
/// <summary>Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation, where
|
||||
/// the jQuery Validate validation has three potential rules (one for min-only, one for max-only, and
|
||||
/// one for min-and-max). The HTML parameters are expected to be named -min and -max.</summary>
|
||||
/// <param name="adapterName" type="String">The name of the adapter to be added. This matches the name used
|
||||
/// in the data-val-nnnn HTML attribute (where nnnn is the adapter name).</param>
|
||||
/// <param name="minRuleName" type="String">The name of the jQuery Validate rule to be used when you only
|
||||
/// have a minimum value.</param>
|
||||
/// <param name="maxRuleName" type="String">The name of the jQuery Validate rule to be used when you only
|
||||
/// have a maximum value.</param>
|
||||
/// <param name="minMaxRuleName" type="String">The name of the jQuery Validate rule to be used when you
|
||||
/// have both a minimum and maximum value.</param>
|
||||
/// <param name="minAttribute" type="String" optional="true">[Optional] The name of the HTML attribute that
|
||||
/// contains the minimum value. The default is "min".</param>
|
||||
/// <param name="maxAttribute" type="String" optional="true">[Optional] The name of the HTML attribute that
|
||||
/// contains the maximum value. The default is "max".</param>
|
||||
/// <returns type="jQuery.validator.unobtrusive.adapters" />
|
||||
return this.add(adapterName, [minAttribute || "min", maxAttribute || "max"], function (options) {
|
||||
var min = options.params.min,
|
||||
max = options.params.max;
|
||||
|
||||
if (min && max) {
|
||||
setValidationValues(options, minMaxRuleName, [min, max]);
|
||||
}
|
||||
else if (min) {
|
||||
setValidationValues(options, minRuleName, min);
|
||||
}
|
||||
else if (max) {
|
||||
setValidationValues(options, maxRuleName, max);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
adapters.addSingleVal = function (adapterName, attribute, ruleName) {
|
||||
/// <summary>Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation, where
|
||||
/// the jQuery Validate validation rule has a single value.</summary>
|
||||
/// <param name="adapterName" type="String">The name of the adapter to be added. This matches the name used
|
||||
/// in the data-val-nnnn HTML attribute(where nnnn is the adapter name).</param>
|
||||
/// <param name="attribute" type="String">[Optional] The name of the HTML attribute that contains the value.
|
||||
/// The default is "val".</param>
|
||||
/// <param name="ruleName" type="String" optional="true">[Optional] The name of the jQuery Validate rule. If not provided, the value
|
||||
/// of adapterName will be used instead.</param>
|
||||
/// <returns type="jQuery.validator.unobtrusive.adapters" />
|
||||
return this.add(adapterName, [attribute || "val"], function (options) {
|
||||
setValidationValues(options, ruleName || adapterName, options.params[attribute]);
|
||||
});
|
||||
};
|
||||
|
||||
$jQval.addMethod("__dummy__", function (value, element, params) {
|
||||
return true;
|
||||
});
|
||||
|
||||
$jQval.addMethod("regex", function (value, element, params) {
|
||||
var match;
|
||||
if (this.optional(element)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
match = new RegExp(params).exec(value);
|
||||
return (match && (match.index === 0) && (match[0].length === value.length));
|
||||
});
|
||||
|
||||
$jQval.addMethod("nonalphamin", function (value, element, nonalphamin) {
|
||||
var match;
|
||||
if (nonalphamin) {
|
||||
match = value.match(/\W/g);
|
||||
match = match && match.length >= nonalphamin;
|
||||
}
|
||||
return match;
|
||||
});
|
||||
|
||||
if ($jQval.methods.extension) {
|
||||
adapters.addSingleVal("accept", "mimtype");
|
||||
adapters.addSingleVal("extension", "extension");
|
||||
} else {
|
||||
// for backward compatibility, when the 'extension' validation method does not exist, such as with versions
|
||||
// of JQuery Validation plugin prior to 1.10, we should use the 'accept' method for
|
||||
// validating the extension, and ignore mime-type validations as they are not supported.
|
||||
adapters.addSingleVal("extension", "extension", "accept");
|
||||
}
|
||||
|
||||
adapters.addSingleVal("regex", "pattern");
|
||||
adapters.addBool("creditcard").addBool("date").addBool("digits").addBool("email").addBool("number").addBool("url");
|
||||
adapters.addMinMax("length", "minlength", "maxlength", "rangelength").addMinMax("range", "min", "max", "range");
|
||||
adapters.addMinMax("minlength", "minlength").addMinMax("maxlength", "minlength", "maxlength");
|
||||
adapters.add("equalto", ["other"], function (options) {
|
||||
var prefix = getModelPrefix(options.element.name),
|
||||
other = options.params.other,
|
||||
fullOtherName = appendModelPrefix(other, prefix),
|
||||
element = $(options.form).find(":input").filter("[name='" + escapeAttributeValue(fullOtherName) + "']")[0];
|
||||
|
||||
setValidationValues(options, "equalTo", element);
|
||||
});
|
||||
adapters.add("required", function (options) {
|
||||
// jQuery Validate equates "required" with "mandatory" for checkbox elements
|
||||
if (options.element.tagName.toUpperCase() !== "INPUT" || options.element.type.toUpperCase() !== "CHECKBOX") {
|
||||
setValidationValues(options, "required", true);
|
||||
}
|
||||
});
|
||||
adapters.add("remote", ["url", "type", "additionalfields"], function (options) {
|
||||
var value = {
|
||||
url: options.params.url,
|
||||
type: options.params.type || "GET",
|
||||
data: {}
|
||||
},
|
||||
prefix = getModelPrefix(options.element.name);
|
||||
|
||||
$.each(splitAndTrim(options.params.additionalfields || options.element.name), function (i, fieldName) {
|
||||
var paramName = appendModelPrefix(fieldName, prefix);
|
||||
value.data[paramName] = function () {
|
||||
var field = $(options.form).find(":input").filter("[name='" + escapeAttributeValue(paramName) + "']");
|
||||
// For checkboxes and radio buttons, only pick up values from checked fields.
|
||||
if (field.is(":checkbox")) {
|
||||
return field.filter(":checked").val() || field.filter(":hidden").val() || '';
|
||||
}
|
||||
else if (field.is(":radio")) {
|
||||
return field.filter(":checked").val() || '';
|
||||
}
|
||||
return field.val();
|
||||
};
|
||||
});
|
||||
|
||||
setValidationValues(options, "remote", value);
|
||||
});
|
||||
adapters.add("password", ["min", "nonalphamin", "regex"], function (options) {
|
||||
if (options.params.min) {
|
||||
setValidationValues(options, "minlength", options.params.min);
|
||||
}
|
||||
if (options.params.nonalphamin) {
|
||||
setValidationValues(options, "nonalphamin", options.params.nonalphamin);
|
||||
}
|
||||
if (options.params.regex) {
|
||||
setValidationValues(options, "regex", options.params.regex);
|
||||
}
|
||||
});
|
||||
adapters.add("fileextensions", ["extensions"], function (options) {
|
||||
setValidationValues(options, "extension", options.params.extensions);
|
||||
});
|
||||
|
||||
$(function () {
|
||||
$jQval.unobtrusive.parse(document);
|
||||
});
|
||||
|
||||
return $jQval.unobtrusive;
|
||||
}));
|
||||
5
Test/Test/Scripts/jquery.validate.unobtrusive.min.js
vendored
Normal file
5
Test/Test/Scripts/jquery.validate.unobtrusive.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1406
Test/Test/Scripts/modernizr-2.8.3.js
vendored
Normal file
1406
Test/Test/Scripts/modernizr-2.8.3.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
231
Test/Test/Test.csproj
Normal file
231
Test/Test/Test.csproj
Normal file
@@ -0,0 +1,231 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\build\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props" Condition="Exists('packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\build\net45\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>{C1F0FFD3-EAEE-4EC0-9DBB-E9CAB522C94A}</ProjectGuid>
|
||||
<ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Test</RootNamespace>
|
||||
<AssemblyName>Test</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.5</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="Microsoft.CSharp" />
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<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.Optimization">
|
||||
<HintPath>packages\Microsoft.AspNet.Web.Optimization.1.1.3\lib\net40\System.Web.Optimization.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="WebGrease">
|
||||
<Private>True</Private>
|
||||
<HintPath>packages\WebGrease.1.6.0\lib\WebGrease.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\BundleConfig.cs" />
|
||||
<Compile Include="App_Start\Service.cs" />
|
||||
<Compile Include="App_Start\FilterConfig.cs" />
|
||||
<Compile Include="App_Start\RouteConfig.cs" />
|
||||
<Compile Include="Controllers\HomeController.cs" />
|
||||
<Compile Include="Global.asax.cs">
|
||||
<DependentUpon>Global.asax</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Content\bootstrap-theme.css" />
|
||||
<Content Include="Content\bootstrap-theme.min.css" />
|
||||
<Content Include="Content\bootstrap.css" />
|
||||
<Content Include="Content\bootstrap.min.css" />
|
||||
<Content Include="favicon.ico" />
|
||||
<Content Include="fonts\glyphicons-halflings-regular.svg" />
|
||||
<Content Include="Global.asax" />
|
||||
<Content Include="Content\Site.css" />
|
||||
<Content Include="Scripts\bootstrap.js" />
|
||||
<Content Include="Scripts\bootstrap.min.js" />
|
||||
<None Include="Scripts\jquery-3.4.1.intellisense.js" />
|
||||
<Content Include="Scripts\jquery-3.4.1.js" />
|
||||
<Content Include="Scripts\jquery-3.4.1.min.js" />
|
||||
<Content Include="Scripts\jquery-3.4.1.slim.js" />
|
||||
<Content Include="Scripts\jquery-3.4.1.slim.min.js" />
|
||||
<None Include="Scripts\jquery.validate-vsdoc.js" />
|
||||
<Content Include="Scripts\jquery.validate.js" />
|
||||
<Content Include="Scripts\jquery.validate.min.js" />
|
||||
<Content Include="Scripts\jquery.validate.unobtrusive.js" />
|
||||
<Content Include="Scripts\jquery.validate.unobtrusive.min.js" />
|
||||
<Content Include="Scripts\modernizr-2.8.3.js" />
|
||||
<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" />
|
||||
<Content Include="Views\Home\About.cshtml" />
|
||||
<Content Include="Views\Home\Contact.cshtml" />
|
||||
<Content Include="Views\Home\Index.cshtml" />
|
||||
<Content Include="Views\Home\Test.cshtml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="App_Data\" />
|
||||
<Folder Include="Models\" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="fonts\glyphicons-halflings-regular.woff2" />
|
||||
<Content Include="fonts\glyphicons-halflings-regular.woff" />
|
||||
<Content Include="fonts\glyphicons-halflings-regular.ttf" />
|
||||
<Content Include="fonts\glyphicons-halflings-regular.eot" />
|
||||
<Content Include="Content\bootstrap.min.css.map" />
|
||||
<Content Include="Content\bootstrap.css.map" />
|
||||
<Content Include="Content\bootstrap-theme.min.css.map" />
|
||||
<Content Include="Content\bootstrap-theme.css.map" />
|
||||
<None Include="packages.config" />
|
||||
<Content Include="Scripts\jquery-3.4.1.slim.min.map" />
|
||||
<Content Include="Scripts\jquery-3.4.1.min.map" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Getf.Service.Transfer.Request.SDK\Getf.Service.Transfer.Request.SDK.csproj">
|
||||
<Project>{d13443bc-deca-4ff5-b9fb-9b9eaefc07f8}</Project>
|
||||
<Name>Getf.Service.Transfer.Request.SDK</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>28436</DevelopmentServerPort>
|
||||
<DevelopmentServerVPath>/</DevelopmentServerVPath>
|
||||
<IISUrl>http://localhost:28436/</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\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" Text="$([System.String]::Format('$(ErrorText)', 'packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\build\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props'))" />
|
||||
</Target>
|
||||
<!-- 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>
|
||||
39
Test/Test/Test.csproj.user
Normal file
39
Test/Test/Test.csproj.user
Normal file
@@ -0,0 +1,39 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<UseIISExpress>true</UseIISExpress>
|
||||
<Use64BitIISExpress />
|
||||
<IISExpressSSLPort />
|
||||
<IISExpressAnonymousAuthentication />
|
||||
<IISExpressWindowsAuthentication />
|
||||
<IISExpressUseClassicPipelineMode />
|
||||
<UseGlobalApplicationHostFile />
|
||||
<LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig>
|
||||
<NameOfLastUsedPublishProfile>D:\WORK\C宁波拆迁\neiwai_transfer\Test\Test\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>
|
||||
</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>
|
||||
7
Test/Test/Views/Home/About.cshtml
Normal file
7
Test/Test/Views/Home/About.cshtml
Normal file
@@ -0,0 +1,7 @@
|
||||
@{
|
||||
ViewBag.Title = "About";
|
||||
}
|
||||
<h2>@ViewBag.Title.</h2>
|
||||
<h3>@ViewBag.Message</h3>
|
||||
|
||||
<p>Use this area to provide additional information.</p>
|
||||
17
Test/Test/Views/Home/Contact.cshtml
Normal file
17
Test/Test/Views/Home/Contact.cshtml
Normal file
@@ -0,0 +1,17 @@
|
||||
@{
|
||||
ViewBag.Title = "Contact";
|
||||
}
|
||||
<h2>@ViewBag.Title.</h2>
|
||||
<h3>@ViewBag.Message</h3>
|
||||
|
||||
<address>
|
||||
One Microsoft Way<br />
|
||||
Redmond, WA 98052-6399<br />
|
||||
<abbr title="Phone">P:</abbr>
|
||||
425.555.0100
|
||||
</address>
|
||||
|
||||
<address>
|
||||
<strong>Support:</strong> <a href="mailto:Support@example.com">Support@example.com</a><br />
|
||||
<strong>Marketing:</strong> <a href="mailto:Marketing@example.com">Marketing@example.com</a>
|
||||
</address>
|
||||
32
Test/Test/Views/Home/Index.cshtml
Normal file
32
Test/Test/Views/Home/Index.cshtml
Normal file
@@ -0,0 +1,32 @@
|
||||
@{
|
||||
ViewBag.Title = "Home Page";
|
||||
}
|
||||
|
||||
<div class="jumbotron">
|
||||
<h1>ASP.NET</h1>
|
||||
<h2>@Html.ActionLink("点我测试接口", "Test", "Home")</h2>
|
||||
<p class="lead">ASP.NET is a free web framework for building great Web sites and Web applications using HTML, CSS and JavaScript.</p>
|
||||
<p><a href="https://asp.net" class="btn btn-primary btn-lg">Learn more »</a></p>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<h2>Getting started</h2>
|
||||
<p>
|
||||
ASP.NET MVC gives you a powerful, patterns-based way to build dynamic websites that
|
||||
enables a clean separation of concerns and gives you full control over markup
|
||||
for enjoyable, agile development.
|
||||
</p>
|
||||
<p><a class="btn btn-default" href="https://go.microsoft.com/fwlink/?LinkId=301865">Learn more »</a></p>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<h2>Get more libraries</h2>
|
||||
<p>NuGet is a free Visual Studio extension that makes it easy to add, remove, and update libraries and tools in Visual Studio projects.</p>
|
||||
<p><a class="btn btn-default" href="https://go.microsoft.com/fwlink/?LinkId=301866">Learn more »</a></p>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<h2>Web Hosting</h2>
|
||||
<p>You can easily find a web hosting company that offers the right mix of features and price for your applications.</p>
|
||||
<p><a class="btn btn-default" href="https://go.microsoft.com/fwlink/?LinkId=301867">Learn more »</a></p>
|
||||
</div>
|
||||
</div>
|
||||
6
Test/Test/Views/Home/Test.cshtml
Normal file
6
Test/Test/Views/Home/Test.cshtml
Normal file
@@ -0,0 +1,6 @@
|
||||
@{
|
||||
ViewBag.Title = "获取接口数据";
|
||||
}
|
||||
<h2>@ViewBag.Data</h2>
|
||||
|
||||
<p>Use this area to provide additional information.</p>
|
||||
14
Test/Test/Views/Shared/Error.cshtml
Normal file
14
Test/Test/Views/Shared/Error.cshtml
Normal file
@@ -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>
|
||||
43
Test/Test/Views/Shared/_Layout.cshtml
Normal file
43
Test/Test/Views/Shared/_Layout.cshtml
Normal file
@@ -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>© @DateTime.Now.Year - 我的 ASP.NET 应用程序</p>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
@Scripts.Render("~/bundles/jquery")
|
||||
@Scripts.Render("~/bundles/bootstrap")
|
||||
@RenderSection("scripts", required: false)
|
||||
</body>
|
||||
</html>
|
||||
43
Test/Test/Views/Web.config
Normal file
43
Test/Test/Views/Web.config
Normal file
@@ -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="Test" />
|
||||
</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>
|
||||
3
Test/Test/Views/_ViewStart.cshtml
Normal file
3
Test/Test/Views/_ViewStart.cshtml
Normal file
@@ -0,0 +1,3 @@
|
||||
@{
|
||||
Layout = "~/Views/Shared/_Layout.cshtml";
|
||||
}
|
||||
30
Test/Test/Web.Debug.config
Normal file
30
Test/Test/Web.Debug.config
Normal file
@@ -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>
|
||||
31
Test/Test/Web.Release.config
Normal file
31
Test/Test/Web.Release.config
Normal file
@@ -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>
|
||||
67
Test/Test/Web.config
Normal file
67
Test/Test/Web.config
Normal file
@@ -0,0 +1,67 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
有关如何配置 ASP.NET 应用程序的详细信息,请访问
|
||||
https://go.microsoft.com/fwlink/?LinkId=301880
|
||||
-->
|
||||
<configuration>
|
||||
<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" />
|
||||
<!--中转服务器-->
|
||||
<!--<add key="TransferService_IpInfo" value="10.19.94.9:8002" />-->
|
||||
<add key="TransferService_IpInfo" value="127.0.0.1:8002" />
|
||||
<add key="Service_Transfer_AppID" value="test" />
|
||||
<add key="Service_Transfer_AppSecret" value="b7ybdg482IXFsojQ4feDHf4NaiSLRtFjL7MVI6ysnvjrZ6jikFX74tVZhZKYG23A" />
|
||||
<add key="Service_Transfer_Key" value="TVgSoGYNJrnU7Kg6Csuodh4IdxqZGxpEJAdRlEcTn72KlUgAiHcr7bdxLKFf9pJ6" />
|
||||
<add key="TransferService_TargetAppID" value="test" />
|
||||
<add key="TransferService_api1_data_Url" value="http://10.19.93.229/api/gateway/001008002016003/dataSharing/vdjb19VHdIh27Rc5" />
|
||||
<add key="TransferService_api2_data_Url" value="http://10.19.93.229/api/gateway/001008002016003/dataSharing/qA26but95TJ5dnvc" />
|
||||
<add key="TransferService_api1_appkey" value="8280818e7cdfdc14017cdfdc14790000" />
|
||||
<add key="TransferService_api1_appsecret" value="6bdcdc4376434934909de3a3ca9d8ea6" />
|
||||
<!--END中转服务器-->
|
||||
</appSettings>
|
||||
<system.web>
|
||||
<compilation debug="true" targetFramework="4.5" />
|
||||
<httpRuntime targetFramework="4.5" />
|
||||
</system.web>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<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:6 /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:14 /nowarn:41008 /define:_MYTYPE=\"Web\" /optionInfer+" />
|
||||
</compilers>
|
||||
</system.codedom>
|
||||
</configuration>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user