bugfix: 修复外网在url中传输token导致401的问题

This commit is contained in:
范露尧
2023-01-13 13:35:20 +08:00
parent f785a068aa
commit b6e5d146e2
6 changed files with 162 additions and 64 deletions

View File

@@ -8,74 +8,78 @@ using System.Text;
namespace Getf.Service.Transfer.Core
{
public class Session : AppSession<Session, TransInfo>
{
static ArraySegment<byte> Heart = new ArraySegment<byte>(new byte[] { 0x40, 0x40, 0, 0, 0, 0, 0, 0, 0, 0 });
protected override int GetMaxRequestLength()
{
return 100 * 1024 * 1024;
}
public class Session : AppSession<Session, TransInfo>
{
static ArraySegment<byte> Heart = new ArraySegment<byte>(new byte[] { 0x40, 0x40, 0, 0, 0, 0, 0, 0, 0, 0 });
protected override int GetMaxRequestLength()
{
return 100 * 1024 * 1024;
}
protected override void OnSessionStarted()
{
base.OnSessionStarted();
Logger.Debug("SessionStarted:" + this.SessionID);
}
protected override void OnSessionStarted()
{
base.OnSessionStarted();
Logger.Debug("SessionStarted:" + this.SessionID);
}
public void SendHeart()
{
base.Send(Heart);
}
public void SendHeart()
{
base.Send(Heart);
}
/// <summary>
/// 异常捕捉
/// </summary>
/// <param name="e"></param>
protected override void HandleException(Exception e)
{
Logger.Error(e.Message, e);
base.HandleException(e);
}
/// <summary>
/// 异常捕捉
/// </summary>
/// <param name="e"></param>
protected override void HandleException(Exception e)
{
Logger.Error(e.Message, e);
base.HandleException(e);
}
protected override void HandleUnknownRequest(TransInfo requestInfo)
{
Logger.Warn("UnknownRequest" + JsonConvert.SerializeObject(requestInfo));
base.HandleUnknownRequest(requestInfo);
}
protected override void HandleUnknownRequest(TransInfo requestInfo)
{
Logger.Warn("UnknownRequest" + JsonConvert.SerializeObject(requestInfo));
base.HandleUnknownRequest(requestInfo);
}
public void Send(object entity)
{
List<byte> bufferHead = new List<byte>();
bufferHead.AddRange(Encoding.UTF8.GetBytes("@@"));
List<byte> bufferBody = new List<byte>();
//bufferBody.AddRange(new Guid(this.Key).ToByteArray());
var json = JsonConvert.SerializeObject(entity);
bufferBody.AddRange(Encoding.UTF8.GetBytes(json));
bufferHead.AddRange(BitConverter.GetBytes(bufferBody.Count));
bufferHead.AddRange(BitConverter.GetBytes(0));
bufferHead.AddRange(bufferBody);
ArraySegment<byte> arraySegment = new ArraySegment<byte>(bufferHead.ToArray());
base.Send(arraySegment);
}
public void Send(object entity)
{
List<byte> bufferHead = new List<byte>();
bufferHead.AddRange(Encoding.UTF8.GetBytes("@@"));
List<byte> bufferBody = new List<byte>();
//bufferBody.AddRange(new Guid(this.Key).ToByteArray());
var json = JsonConvert.SerializeObject(entity);
bufferBody.AddRange(Encoding.UTF8.GetBytes(json));
bufferHead.AddRange(BitConverter.GetBytes(bufferBody.Count));
bufferHead.AddRange(BitConverter.GetBytes(0));
bufferHead.AddRange(bufferBody);
ArraySegment<byte> arraySegment = new ArraySegment<byte>(bufferHead.ToArray());
base.Send(arraySegment);
}
public void Send(TransInfo transInfo)
{
List<byte> bufferHead = new List<byte>();
bufferHead.AddRange(Encoding.UTF8.GetBytes("@@"));
List<byte> bufferBody = new List<byte>();
//bufferBody.AddRange(new Guid(this.Key).ToByteArray());
var json = JsonConvert.SerializeObject(transInfo);
bufferBody.AddRange(Encoding.UTF8.GetBytes(json));
bufferHead.AddRange(BitConverter.GetBytes(bufferBody.Count));
bufferHead.AddRange(BitConverter.GetBytes(transInfo.Data == null ? 0 : transInfo.Data.Length));
bufferHead.AddRange(bufferBody);
if (transInfo.Data != null)
{
bufferHead.AddRange(transInfo.Data);
}
ArraySegment<byte> arraySegment = new ArraySegment<byte>(bufferHead.ToArray());
base.Send(arraySegment);
}
}
public void Send(TransInfo transInfo)
{
if (transInfo.TransResultInfo == null)
transInfo.TransResultInfo = new TransResult { Code = 200 };
else
transInfo.TransResultInfo.Code = 200;
List<byte> bufferHead = new List<byte>();
bufferHead.AddRange(Encoding.UTF8.GetBytes("@@"));
List<byte> bufferBody = new List<byte>();
//bufferBody.AddRange(new Guid(this.Key).ToByteArray());
var json = JsonConvert.SerializeObject(transInfo);
bufferBody.AddRange(Encoding.UTF8.GetBytes(json));
bufferHead.AddRange(BitConverter.GetBytes(bufferBody.Count));
bufferHead.AddRange(BitConverter.GetBytes(transInfo.Data == null ? 0 : transInfo.Data.Length));
bufferHead.AddRange(bufferBody);
if (transInfo.Data != null)
{
bufferHead.AddRange(transInfo.Data);
}
ArraySegment<byte> arraySegment = new ArraySegment<byte>(bufferHead.ToArray());
base.Send(arraySegment);
}
}
}

View File

@@ -12,6 +12,7 @@
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
<TargetFrameworkProfile />
<IsWebBootstrapper>false</IsWebBootstrapper>
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
@@ -24,7 +25,6 @@
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<IsWebBootstrapper>false</IsWebBootstrapper>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
</PropertyGroup>

View File

@@ -11,6 +11,21 @@
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<IsWebBootstrapper>false</IsWebBootstrapper>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
@@ -85,5 +100,12 @@
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1</ProductName>
<Install>false</Install>
</BootstrapperPackage>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>