Skip to content

Commit 8925593

Browse files
committed
Merge branch 'develop' of https://github.com/jacqueskang/IpcServiceFramework into develop
2 parents a59044a + 43d5fb9 commit 8925593

File tree

5 files changed

+30
-15
lines changed

5 files changed

+30
-15
lines changed

src/JKang.IpcServiceFramework.Client/IpcServiceClient.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,8 @@ private static IpcRequest GetRequest(Expression exp, MyInterceptor interceptor)
9393
private async Task<IpcResponse> GetResponseAsync(IpcRequest request)
9494
{
9595
using (var client = new NamedPipeClientStream(".", _pipeName, PipeDirection.InOut, PipeOptions.None))
96-
using (var writer = new IpcWriter(client, _serializer))
97-
using (var reader = new IpcReader(client, _serializer))
96+
using (var writer = new IpcWriter(client, _serializer, leaveOpen: true))
97+
using (var reader = new IpcReader(client, _serializer, leaveOpen: true))
9898
{
9999
await client.ConnectAsync();
100100

src/JKang.IpcServiceFramework.Core/IO/IpcReader.cs

+6-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System;
22
using System.IO;
3+
using System.Text;
34

45
namespace JKang.IpcServiceFramework.IO
56
{
@@ -9,8 +10,12 @@ public class IpcReader : IDisposable
910
private readonly IIpcMessageSerializer _serializer;
1011

1112
public IpcReader(Stream stream, IIpcMessageSerializer serializer)
13+
: this(stream, serializer, leaveOpen: false)
14+
{ }
15+
16+
public IpcReader(Stream stream, IIpcMessageSerializer serializer, bool leaveOpen)
1217
{
13-
_reader = new BinaryReader(stream);
18+
_reader = new BinaryReader(stream, Encoding.UTF8, leaveOpen);
1419
_serializer = serializer;
1520
}
1621

src/JKang.IpcServiceFramework.Core/IO/IpcWriter.cs

+7-2
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,21 @@
11
using System;
22
using System.IO;
3+
using System.Text;
34

45
namespace JKang.IpcServiceFramework.IO
56
{
6-
public class IpcWriter: IDisposable
7+
public class IpcWriter : IDisposable
78
{
89
private readonly BinaryWriter _writer;
910
private readonly IIpcMessageSerializer _serializer;
1011

1112
public IpcWriter(Stream stream, IIpcMessageSerializer serializer)
13+
: this(stream, serializer, leaveOpen: false)
14+
{ }
15+
16+
public IpcWriter(Stream stream, IIpcMessageSerializer serializer, bool leaveOpen)
1217
{
13-
_writer = new BinaryWriter(stream);
18+
_writer = new BinaryWriter(stream, Encoding.UTF8, leaveOpen);
1419
_serializer = serializer;
1520
}
1621

src/JKang.IpcServiceFramework.Core/Services/DefaultValueConverter.cs

+13-4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
using Newtonsoft.Json.Linq;
1+
using Newtonsoft.Json;
2+
using Newtonsoft.Json.Linq;
23
using System;
34

45
namespace JKang.IpcServiceFramework.Services
@@ -66,11 +67,19 @@ public bool TryConvert(object origValue, Type destType, out object destValue)
6667
destValue = Convert.ChangeType(origValue, destType);
6768
return true;
6869
}
69-
catch (Exception)
70+
catch
71+
{ }
72+
73+
try
7074
{
71-
destValue = null;
72-
return false;
75+
destValue = JsonConvert.DeserializeObject(JsonConvert.SerializeObject(origValue), destType);
76+
return true;
7377
}
78+
catch
79+
{ }
80+
81+
destValue = null;
82+
return false;
7483
}
7584
}
7685
}

src/JKang.IpcServiceFramework.Server/IpcServiceHost.cs

+2-6
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,8 @@ public void Run()
5757
private void StartServerThread(object obj)
5858
{
5959
using (var server = new NamedPipeServerStream(_pipeName, PipeDirection.InOut, _options.ThreadCount))
60-
using (var writer = new IpcWriter(server, _serializer))
61-
using (var reader = new IpcReader(server, _serializer))
60+
using (var writer = new IpcWriter(server, _serializer, leaveOpen: true))
61+
using (var reader = new IpcReader(server, _serializer, leaveOpen: true))
6262
{
6363
server.WaitForConnection();
6464

@@ -83,10 +83,6 @@ private void StartServerThread(object obj)
8383
{
8484
_logger?.LogError(ex, ex.Message);
8585
}
86-
finally
87-
{
88-
server.Close();
89-
}
9086
}
9187
}
9288

0 commit comments

Comments
 (0)