Browse Source

1.访客统计精简
2.取消首页缓存
3.升级包

懒得勤快 7 years ago
parent
commit
d3592902ee

+ 4 - 4
src/DAL/DAL.csproj

@@ -83,11 +83,11 @@
     <Reference Include="System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
       <HintPath>..\packages\System.ValueTuple.4.5.0\lib\netstandard1.0\System.ValueTuple.dll</HintPath>
     </Reference>
-    <Reference Include="Z.EntityFramework.Extensions, Version=3.16.13.0, Culture=neutral, PublicKeyToken=59b66d028979105b, processorArchitecture=MSIL">
-      <HintPath>..\packages\Z.EntityFramework.Extensions.3.16.13\lib\net45\Z.EntityFramework.Extensions.dll</HintPath>
+    <Reference Include="Z.EntityFramework.Extensions, Version=3.16.14.0, Culture=neutral, PublicKeyToken=59b66d028979105b, processorArchitecture=MSIL">
+      <HintPath>..\packages\Z.EntityFramework.Extensions.3.16.14\lib\net45\Z.EntityFramework.Extensions.dll</HintPath>
     </Reference>
-    <Reference Include="Z.EntityFramework.Plus.EF6, Version=1.8.14.0, Culture=neutral, PublicKeyToken=59b66d028979105b, processorArchitecture=MSIL">
-      <HintPath>..\packages\Z.EntityFramework.Plus.EF6.1.8.14\lib\net45\Z.EntityFramework.Plus.EF6.dll</HintPath>
+    <Reference Include="Z.EntityFramework.Plus.EF6, Version=1.8.16.0, Culture=neutral, PublicKeyToken=59b66d028979105b, processorArchitecture=MSIL">
+      <HintPath>..\packages\Z.EntityFramework.Plus.EF6.1.8.16\lib\net45\Z.EntityFramework.Plus.EF6.dll</HintPath>
     </Reference>
   </ItemGroup>
   <ItemGroup>

+ 2 - 2
src/DAL/packages.config

@@ -16,6 +16,6 @@
   <package id="SharpZipLib" version="1.0.0" targetFramework="net45" />
   <package id="StackExchange.Redis" version="1.2.6" targetFramework="net45" requireReinstallation="true" />
   <package id="System.ValueTuple" version="4.5.0" targetFramework="net45" requireReinstallation="true" />
-  <package id="Z.EntityFramework.Extensions" version="3.16.13" targetFramework="net461" />
-  <package id="Z.EntityFramework.Plus.EF6" version="1.8.14" targetFramework="net461" />
+  <package id="Z.EntityFramework.Extensions" version="3.16.14" targetFramework="net461" />
+  <package id="Z.EntityFramework.Plus.EF6" version="1.8.16" targetFramework="net461" />
 </packages>

+ 13 - 12
src/Masuit.MyBlogs.WebApp/Controllers/HomeController.cs

@@ -13,6 +13,7 @@ using System.Collections.Generic;
 using System.Linq;
 using System.Threading.Tasks;
 using System.Web.Mvc;
+using EntityFramework.Caching;
 
 namespace Masuit.MyBlogs.WebApp.Controllers
 {
@@ -97,19 +98,19 @@ namespace Masuit.MyBlogs.WebApp.Controllers
             switch (orderBy)
             {
                 case OrderBy.CommentCount:
-                    posts = temp.ThenByDescending(p => p.Comment.Count).Skip(size * (page - 1)).Take(size).Cacheable().ToList();
+                    posts = temp.ThenByDescending(p => p.Comment.Count).Skip(size * (page - 1)).Take(size).ToList();
                     break;
                 case OrderBy.PostDate:
-                    posts = temp.ThenByDescending(p => p.PostDate).Skip(size * (page - 1)).Take(size).Cacheable().ToList();
+                    posts = temp.ThenByDescending(p => p.PostDate).Skip(size * (page - 1)).Take(size).ToList();
                     break;
                 case OrderBy.ViewCount:
-                    posts = temp.ThenByDescending(p => p.ViewCount).Skip(size * (page - 1)).Take(size).Cacheable().ToList();
+                    posts = temp.ThenByDescending(p => p.ViewCount).Skip(size * (page - 1)).Take(size).ToList();
                     break;
                 case OrderBy.VoteCount:
-                    posts = temp.ThenByDescending(p => p.VoteUpCount).Skip(size * (page - 1)).Take(size).Cacheable().ToList();
+                    posts = temp.ThenByDescending(p => p.VoteUpCount).Skip(size * (page - 1)).Take(size).ToList();
                     break;
                 default:
-                    posts = temp.ThenByDescending(p => p.ModifyDate).Skip(size * (page - 1)).Take(size).Cacheable().ToList();
+                    posts = temp.ThenByDescending(p => p.ModifyDate).Skip(size * (page - 1)).Take(size).ToList();
                     break;
             }
             var viewModel = GetIndexPageViewModel(0, 0, orderBy, user);
@@ -157,7 +158,7 @@ namespace Masuit.MyBlogs.WebApp.Controllers
             var viewModel = GetIndexPageViewModel(0, 0, orderBy, user);
             ViewBag.CategoryName = cat.Name;
             ViewBag.Desc = cat.Description;
-            viewModel.Posts = posts.Skip(size * (page - 1)).Take(size).Cacheable().ToList().Mapper<IList<PostOutputDto>>();
+            viewModel.Posts = posts.Skip(size * (page - 1)).Take(size).ToList().Mapper<IList<PostOutputDto>>();
             return View(viewModel);
         }
 
@@ -211,24 +212,24 @@ namespace Masuit.MyBlogs.WebApp.Controllers
             switch (orderBy) //文章排序
             {
                 case OrderBy.CommentCount:
-                    posts = postList.Where(p => !p.IsFixedTop).OrderByDescending(p => p.Comment.Count).Skip(size * (page - 1)).Take(size).Cacheable().ToList();
+                    posts = postList.Where(p => !p.IsFixedTop).OrderByDescending(p => p.Comment.Count).Skip(size * (page - 1)).Take(size).ToList();
                     break;
                 case OrderBy.PostDate:
-                    posts = postList.Where(p => !p.IsFixedTop).OrderByDescending(p => p.PostDate).Skip(size * (page - 1)).Take(size).Cacheable().ToList();
+                    posts = postList.Where(p => !p.IsFixedTop).OrderByDescending(p => p.PostDate).Skip(size * (page - 1)).Take(size).ToList();
                     break;
                 case OrderBy.ViewCount:
-                    posts = postList.Where(p => !p.IsFixedTop).OrderByDescending(p => p.ViewCount).Skip(size * (page - 1)).Take(size).Cacheable().ToList();
+                    posts = postList.Where(p => !p.IsFixedTop).OrderByDescending(p => p.ViewCount).Skip(size * (page - 1)).Take(size).ToList();
                     break;
                 case OrderBy.VoteCount:
-                    posts = postList.Where(p => !p.IsFixedTop).OrderByDescending(p => p.VoteUpCount).Skip(size * (page - 1)).Take(size).Cacheable().ToList();
+                    posts = postList.Where(p => !p.IsFixedTop).OrderByDescending(p => p.VoteUpCount).Skip(size * (page - 1)).Take(size).ToList();
                     break;
                 default:
-                    posts = postList.Where(p => !p.IsFixedTop).OrderByDescending(p => p.ModifyDate).Skip(size * (page - 1)).Take(size).Cacheable().ToList();
+                    posts = postList.Where(p => !p.IsFixedTop).OrderByDescending(p => p.ModifyDate).Skip(size * (page - 1)).Take(size).ToList();
                     break;
             }
             if (page == 1)
             {
-                posts = postList.Where(p => p.IsFixedTop).OrderByDescending(p => p.ModifyDate).Cacheable().AsEnumerable().Union(posts).ToList();
+                posts = postList.Where(p => p.IsFixedTop).OrderByDescending(p => p.ModifyDate).AsEnumerable().Union(posts).ToList();
             }
             return new IndexPageViewModel()
             {

+ 21 - 17
src/Masuit.MyBlogs.WebApp/Masuit.MyBlogs.WebApp.csproj

@@ -108,6 +108,10 @@
     <Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
       <HintPath>..\packages\EntityFramework.6.2.0\lib\net45\EntityFramework.dll</HintPath>
     </Reference>
+    <Reference Include="EntityFramework.Extended, Version=6.0.0.0, Culture=neutral, PublicKeyToken=05b7e29bdd433584, processorArchitecture=MSIL">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\packages\EntityFramework.Extended.6.1.0.168\lib\net45\EntityFramework.Extended.dll</HintPath>
+    </Reference>
     <Reference Include="EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
       <HintPath>..\packages\EntityFramework.6.2.0\lib\net45\EntityFramework.SqlServer.dll</HintPath>
     </Reference>
@@ -193,8 +197,8 @@
     <Reference Include="System.Drawing" />
     <Reference Include="System.IO.Compression" />
     <Reference Include="System.Net.Http" />
-    <Reference Include="System.Net.Http.Formatting, Version=5.2.6.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.AspNet.WebApi.Client.5.2.6\lib\net45\System.Net.Http.Formatting.dll</HintPath>
+    <Reference Include="System.Net.Http.Formatting, Version=5.2.7.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.AspNet.WebApi.Client.5.2.7\lib\net45\System.Net.Http.Formatting.dll</HintPath>
     </Reference>
     <Reference Include="System.Runtime.Serialization" />
     <Reference Include="System.Security" />
@@ -204,39 +208,39 @@
     </Reference>
     <Reference Include="System.Web" />
     <Reference Include="System.Web.ApplicationServices" />
-    <Reference Include="System.Web.Cors, Version=5.2.6.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.AspNet.Cors.5.2.6\lib\net45\System.Web.Cors.dll</HintPath>
+    <Reference Include="System.Web.Cors, Version=5.2.7.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.AspNet.Cors.5.2.7\lib\net45\System.Web.Cors.dll</HintPath>
     </Reference>
     <Reference Include="System.Web.DynamicData" />
     <Reference Include="System.Web.Entity" />
     <Reference Include="System.Web.Extensions" />
     <Reference Include="System.Web.Helpers, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.6\lib\net45\System.Web.Helpers.dll</HintPath>
+      <HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.7\lib\net45\System.Web.Helpers.dll</HintPath>
     </Reference>
-    <Reference Include="System.Web.Http, Version=5.2.6.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.AspNet.WebApi.Core.5.2.6\lib\net45\System.Web.Http.dll</HintPath>
+    <Reference Include="System.Web.Http, Version=5.2.7.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.AspNet.WebApi.Core.5.2.7\lib\net45\System.Web.Http.dll</HintPath>
     </Reference>
-    <Reference Include="System.Web.Http.WebHost, Version=5.2.6.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.AspNet.WebApi.WebHost.5.2.6\lib\net45\System.Web.Http.WebHost.dll</HintPath>
+    <Reference Include="System.Web.Http.WebHost, Version=5.2.7.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.AspNet.WebApi.WebHost.5.2.7\lib\net45\System.Web.Http.WebHost.dll</HintPath>
     </Reference>
-    <Reference Include="System.Web.Mvc, Version=5.2.6.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.AspNet.Mvc.5.2.6\lib\net45\System.Web.Mvc.dll</HintPath>
+    <Reference Include="System.Web.Mvc, Version=5.2.7.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.AspNet.Mvc.5.2.7\lib\net45\System.Web.Mvc.dll</HintPath>
     </Reference>
     <Reference Include="System.Web.Optimization, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
       <HintPath>..\packages\Microsoft.AspNet.Web.Optimization.1.1.3\lib\net40\System.Web.Optimization.dll</HintPath>
       <Private>True</Private>
     </Reference>
     <Reference Include="System.Web.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.AspNet.Razor.3.2.6\lib\net45\System.Web.Razor.dll</HintPath>
+      <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">
-      <HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.6\lib\net45\System.Web.WebPages.dll</HintPath>
+      <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">
-      <HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.6\lib\net45\System.Web.WebPages.Deployment.dll</HintPath>
+      <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">
-      <HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.6\lib\net45\System.Web.WebPages.Razor.dll</HintPath>
+      <HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.7\lib\net45\System.Web.WebPages.Razor.dll</HintPath>
     </Reference>
     <Reference Include="System.Xml" />
     <Reference Include="System.Xml.Linq" />
@@ -247,8 +251,8 @@
       <HintPath>..\packages\WebGrease.1.6.0\lib\WebGrease.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="Z.EntityFramework.Extensions, Version=3.16.13.0, Culture=neutral, PublicKeyToken=59b66d028979105b, processorArchitecture=MSIL">
-      <HintPath>..\packages\Z.EntityFramework.Extensions.3.16.13\lib\net45\Z.EntityFramework.Extensions.dll</HintPath>
+    <Reference Include="Z.EntityFramework.Extensions, Version=3.16.14.0, Culture=neutral, PublicKeyToken=59b66d028979105b, processorArchitecture=MSIL">
+      <HintPath>..\packages\Z.EntityFramework.Extensions.3.16.14\lib\net45\Z.EntityFramework.Extensions.dll</HintPath>
     </Reference>
     <Reference Include="Z.ExtensionMethods, Version=2.1.0.0, Culture=neutral, PublicKeyToken=59b66d028979105b, processorArchitecture=MSIL">
       <HintPath>..\packages\Z.ExtensionMethods.2.1.0\lib\net45\Z.ExtensionMethods.dll</HintPath>

+ 45 - 65
src/Masuit.MyBlogs.WebApp/Models/Hangfire/HangfireBackJob.cs

@@ -78,26 +78,6 @@ namespace Masuit.MyBlogs.WebApp.Models.Hangfire
             RedisHelper.StringIncrement("Interview:ViewCount");
         }
 
-        //public void FlushUnhandledAddress()
-        //{
-        //    var list = InterviewBll.LoadEntities(i => string.IsNullOrEmpty(i.Address)).AsEnumerable();
-        //    list.ForEach(i =>
-        //    {
-        //        PhysicsAddress addr = i.IP.GetPhysicsAddressInfo().Result;
-        //        if (addr?.Status == 0)
-        //        {
-        //            i.Address = $"{addr.AddressResult.FormattedAddress} {addr.AddressResult.AddressComponent.Direction}{addr.AddressResult.AddressComponent.Distance}米";
-        //            i.Province = addr.AddressResult.AddressComponent.Province;
-        //            IList<string> strs = new List<string>();
-        //            addr.AddressResult.Pois.ForEach(s => strs.Add($"{s.AddressDetail} {s.Direction}{s.Distance}米"));
-        //            i.ReferenceAddress = string.Join("|", strs);
-        //        }
-        //        i.ISP = i.IP.GetISP();
-        //        InterviewBll.UpdateEntitySaved(i);
-        //    });
-        //    InterviewBll.DeleteEntitySaved(i => i.IP.Contains(":") || i.IP.Equals("127.0.0.1"));
-        //}
-
         public void UpdateLucene()
         {
             LuceneHelper.CreateIndex(PostBll.LoadEntitiesNoTracking(p => p.Status == Status.Pended));
@@ -196,7 +176,7 @@ namespace Masuit.MyBlogs.WebApp.Models.Hangfire
             using (RedisHelper redisHelper = RedisHelper.GetInstance())
             {
                 list = redisHelper.ListRange<Interview>($"Interview:{DateTime.Today:yyyy:MM:dd}");
-                for (int i = -70; i < 0; i++)
+                for (int i = -60; i < 0; i++)
                 {
                     list.AddRange(redisHelper.ListRange<Interview>($"Interview:{DateTime.Today.AddDays(i):yyyy:MM:dd}"));
                 }
@@ -235,14 +215,14 @@ namespace Masuit.MyBlogs.WebApp.Models.Hangfire
             int monthpv = list.Count(i => i.ViewTime >= monthStart);
             int monthuv = list.DistinctBy(i => i.IP).Count(i => i.ViewTime >= monthStart);
 
-            //YTD统计
-            var yearStart = new DateTime(DateTime.Now.Year, 1, 1);
-            int yearpv = list.Count(i => i.ViewTime >= yearStart);
-            int yearuv = list.DistinctBy(i => i.IP).Count(i => i.ViewTime >= yearStart);
+            ////YTD统计
+            //var yearStart = new DateTime(DateTime.Now.Year, 1, 1);
+            //int yearpv = list.Count(i => i.ViewTime >= yearStart);
+            //int yearuv = list.DistinctBy(i => i.IP).Count(i => i.ViewTime >= yearStart);
 
-            //完全统计
-            int totalpv = list.Count();
-            int totaluv = list.DistinctBy(i => i.IP).Count();
+            ////完全统计
+            //int totalpv = list.Count();
+            //int totaluv = list.DistinctBy(i => i.IP).Count();
 
             var allClient = new List<object>();
             var uniClient = new List<object>();
@@ -394,23 +374,23 @@ namespace Masuit.MyBlogs.WebApp.Models.Hangfire
                 g.iv
             }).ToList();  //每日新增独立访客
 
-            //访问时长统计
-            InterviewAnalysisDto maxSpanViewer = list.OrderByDescending(i => i.OnlineSpanSeconds).Select(i => new InterviewAnalysisDto
-            {
-                ViewTime = i.ViewTime,
-                IP = i.IP,
-                BrowserType = i.BrowserType,
-                Province = i.Province,
-                OnlineSpanSeconds = i.OnlineSpanSeconds
-            }).FirstOrDefault(); //历史最久访客
-            InterviewAnalysisDto maxSpanViewerToday = list.Where(i => i.ViewTime >= DateTime.Today).OrderByDescending(i => i.OnlineSpanSeconds).Select(i => new InterviewAnalysisDto
-            {
-                ViewTime = i.ViewTime,
-                IP = i.IP,
-                BrowserType = i.BrowserType,
-                Province = i.Province,
-                OnlineSpanSeconds = i.OnlineSpanSeconds
-            }).FirstOrDefault(); //今日最久访客
+            ////访问时长统计
+            //InterviewAnalysisDto maxSpanViewer = list.OrderByDescending(i => i.OnlineSpanSeconds).Select(i => new InterviewAnalysisDto
+            //{
+            //    ViewTime = i.ViewTime,
+            //    IP = i.IP,
+            //    BrowserType = i.BrowserType,
+            //    Province = i.Province,
+            //    OnlineSpanSeconds = i.OnlineSpanSeconds
+            //}).FirstOrDefault(); //历史最久访客
+            //InterviewAnalysisDto maxSpanViewerToday = list.Where(i => i.ViewTime >= DateTime.Today).OrderByDescending(i => i.OnlineSpanSeconds).Select(i => new InterviewAnalysisDto
+            //{
+            //    ViewTime = i.ViewTime,
+            //    IP = i.IP,
+            //    BrowserType = i.BrowserType,
+            //    Province = i.Province,
+            //    OnlineSpanSeconds = i.OnlineSpanSeconds
+            //}).FirstOrDefault(); //今日最久访客
 
             double average = 0;
             double average2 = 0;
@@ -436,11 +416,11 @@ namespace Masuit.MyBlogs.WebApp.Models.Hangfire
                 Pv = pv,
                 Todaypv = todaypv,
                 Todayuv = todayuv,
-                Totalpv = totalpv,
-                Totaluv = totaluv,
+                //Totalpv = totalpv,
+                //Totaluv = totaluv,
                 Uv = uv,
-                Yearpv = yearpv,
-                Yearuv = yearuv,
+                //Yearpv = yearpv,
+                //Yearuv = yearuv,
                 BounceRate = $"{dap?.Dap}/{dap?.All}({dap?.Result:P})",
                 BounceRateAggregate = dapAgg.Select(a => new object[]
                 {
@@ -450,23 +430,23 @@ namespace Masuit.MyBlogs.WebApp.Models.Hangfire
                 BounceRateToday = $"{todayDap?.Dap}/{todayDap?.All}({todayDap?.Rate:P})",
                 OnlineSpanAggregate = new
                 {
-                    maxSpanViewerToday = new
-                    {
-                        maxSpanViewerToday?.IP,
-                        maxSpanViewerToday?.BrowserType,
-                        maxSpanViewerToday?.Province,
-                        maxSpanViewerToday?.ViewTime,
-                        OnlineSpanSeconds = TimeSpan2String(TimeSpan.FromSeconds(maxSpanViewerToday?.OnlineSpanSeconds ?? 0))
-                    },
+                    //maxSpanViewerToday = new
+                    //{
+                    //    maxSpanViewerToday?.IP,
+                    //    maxSpanViewerToday?.BrowserType,
+                    //    maxSpanViewerToday?.Province,
+                    //    maxSpanViewerToday?.ViewTime,
+                    //    OnlineSpanSeconds = TimeSpan2String(TimeSpan.FromSeconds(maxSpanViewerToday?.OnlineSpanSeconds ?? 0))
+                    //},
                     averSpanToday,
-                    maxSpanViewer = new
-                    {
-                        maxSpanViewer?.IP,
-                        maxSpanViewer?.BrowserType,
-                        maxSpanViewer?.Province,
-                        maxSpanViewer?.ViewTime,
-                        OnlineSpanSeconds = TimeSpan2String(TimeSpan.FromSeconds(maxSpanViewer?.OnlineSpanSeconds ?? 0))
-                    },
+                    //maxSpanViewer = new
+                    //{
+                    //    maxSpanViewer?.IP,
+                    //    maxSpanViewer?.BrowserType,
+                    //    maxSpanViewer?.Province,
+                    //    maxSpanViewer?.ViewTime,
+                    //    OnlineSpanSeconds = TimeSpan2String(TimeSpan.FromSeconds(maxSpanViewer?.OnlineSpanSeconds ?? 0))
+                    //},
                     averSpan,
                 }
             };

+ 167 - 174
src/Masuit.MyBlogs.WebApp/Web.config

@@ -1,177 +1,170 @@
 <?xml version="1.0" encoding="utf-8"?>
-<configuration>
-  <configSections>
-    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
-  </configSections>
-  <connectionStrings>
-    <add name="DataContext" connectionString="Data Source=.;Initial Catalog=MyBlogs;Integrated Security=True;App=EntityFramework" providerName="System.Data.SqlClient" />
-  </connectionStrings>
-  <!--
-    有关 web.config 更改的说明,请参见 http://go.microsoft.com/fwlink/?LinkId=235367。
 
-    可在 <httpRuntime> 标记上设置以下特性。
-      <system.Web>
-        <httpRuntime targetFramework="4.6.1" />
-      </system.Web>
-  -->
-  <system.web>
-    <compilation debug="true" targetFramework="4.6.1" />
-    <httpRuntime targetFramework="4.5" maxRequestLength="2147483647" />
-    <customErrors mode="On" defaultRedirect="/Error">
-      <error statusCode="404" redirect="/Error" />
-    </customErrors>
-  </system.web>
-  <system.web.extensions>
-    <scripting>
-      <webServices>
-        <jsonSerialization maxJsonLength="2147483647" />
-      </webServices>
-    </scripting>
-  </system.web.extensions>
-  <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="DalNameSpace" value="DAL" />
-    <add key="DalPath" value="DAL.dll" />
-    <add key="BllPath" value="BLL.dll" />
-    <add key="BaiduAK" value="您的BaiduAK" /><!--BaiduAK,访客统计会用到-->
-    <add key="EnableViewCompress" value="false" />        <!--是否启用页面压缩-->
-  </appSettings>
-  <system.webServer>
-    <staticContent>
-      <remove fileExtension=".woff" />
-      <remove fileExtension=".woff2" />
-      <mimeMap fileExtension=".woff" mimeType="application/font-woff" />
-      <mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
-    </staticContent>
-    <security>
-      <requestFiltering allowDoubleEscaping="true" allowHighBitCharacters="true">
-        <requestLimits maxAllowedContentLength="2147483647" maxQueryString="2147483647" />
-      </requestFiltering>
-    </security>
-    <validation validateIntegratedModeConfiguration="false" />
-    <!--集成模式下不去验证system.web/httpModules节点-->
-    <modules>
-      <!--移除未使用的http模块-->
-      <remove name="WindowsAuthentication" />
-      <remove name="FormsAuthentication" />
-      <remove name="PassportAuthentication" />
-      <remove name="RoleManager" />
-      <remove name="UrlAuthorization" />
-      <remove name="FileAuthorization" />
-      <remove name="AnonymousIdentification" />
-      <remove name="Profile" />
-      <remove name="ErrorHandlerModule" />
-      <remove name="ServiceModel" />
-      <remove name="ScriptModule-4.0" />
-    </modules>
-    <handlers>
-      <add name="tag" type="System.Web.Routing.UrlRoutingHandler, System.Web" path="/tag/*" verb="*" />
-      <add name="search" type="System.Web.Routing.UrlRoutingHandler, System.Web" path="/s/*" verb="*" />
-      <add name="ip" type="System.Web.Routing.UrlRoutingHandler, System.Web" path="/tools/ip/*" verb="*" />
-      <add name="download" type="System.Web.Routing.UrlRoutingHandler, System.Web" path="/download/*" verb="*" />
-      <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
-      <remove name="OPTIONSVerbHandler" />
-      <remove name="TRACEVerbHandler" />
-      <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
-    </handlers>
-  </system.webServer>
-  <runtime>
-    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
-      <dependentAssembly>
-        <assemblyIdentity name="AutoMapper" publicKeyToken="BE96CD2C38EF1005" culture="neutral" />
-        <bindingRedirect oldVersion="0.0.0.0-7.0.1.0" newVersion="7.0.1.0" />
-      </dependentAssembly>
-      <dependentAssembly>
-        <assemblyIdentity name="Antlr3.Runtime" publicKeyToken="EB42632606E9261F" culture="neutral" />
-        <bindingRedirect oldVersion="0.0.0.0-3.5.0.2" newVersion="3.5.0.2" />
-      </dependentAssembly>
-      <dependentAssembly>
-        <assemblyIdentity name="WebGrease" publicKeyToken="31BF3856AD364E35" culture="neutral" />
-        <bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930" />
-      </dependentAssembly>
-      <dependentAssembly>
-        <assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" culture="neutral" />
-        <bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930" />
-      </dependentAssembly>
-      <dependentAssembly>
-        <assemblyIdentity name="Antlr3.Runtime" publicKeyToken="eb42632606e9261f" culture="neutral" />
-        <bindingRedirect oldVersion="0.0.0.0-3.5.0.2" newVersion="3.5.0.2" />
-      </dependentAssembly>
-      <dependentAssembly>
-        <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
-        <bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
-      </dependentAssembly>
-      <dependentAssembly>
-        <assemblyIdentity name="Autofac" publicKeyToken="17863af14b0044da" culture="neutral" />
-        <bindingRedirect oldVersion="0.0.0.0-4.8.1.0" newVersion="4.8.1.0" />
-      </dependentAssembly>
-      <dependentAssembly>
-        <assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral" />
-        <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
-      </dependentAssembly>
-      <dependentAssembly>
-        <assemblyIdentity name="Microsoft.AspNet.SignalR.Core" publicKeyToken="31bf3856ad364e35" culture="neutral" />
-        <bindingRedirect oldVersion="0.0.0.0-2.4.0.0" newVersion="2.4.0.0" />
-      </dependentAssembly>
-      <dependentAssembly>
-        <assemblyIdentity name="Microsoft.Owin.Security" publicKeyToken="31bf3856ad364e35" culture="neutral" />
-        <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
-      </dependentAssembly>
-      <dependentAssembly>
-        <assemblyIdentity name="System.Web.Cors" publicKeyToken="31bf3856ad364e35" culture="neutral" />
-        <bindingRedirect oldVersion="0.0.0.0-5.2.6.0" newVersion="5.2.6.0" />
-      </dependentAssembly>
-      <dependentAssembly>
-        <assemblyIdentity name="Common.Logging.Core" publicKeyToken="af08829b84f0328e" culture="neutral" />
-        <bindingRedirect oldVersion="0.0.0.0-3.4.1.0" newVersion="3.4.1.0" />
-      </dependentAssembly>
-      <dependentAssembly>
-        <assemblyIdentity name="Common.Logging" publicKeyToken="af08829b84f0328e" culture="neutral" />
-        <bindingRedirect oldVersion="0.0.0.0-3.4.1.0" newVersion="3.4.1.0" />
-      </dependentAssembly>
-      <dependentAssembly>
-        <assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" />
-        <bindingRedirect oldVersion="0.0.0.0-5.2.6.0" newVersion="5.2.6.0" />
-      </dependentAssembly>
-      <dependentAssembly>
-        <assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
-        <bindingRedirect oldVersion="0.0.0.0-5.2.6.0" newVersion="5.2.6.0" />
-      </dependentAssembly>
-      <dependentAssembly>
-        <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
-        <bindingRedirect oldVersion="0.0.0.0-5.2.6.0" newVersion="5.2.6.0" />
-      </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="AutoMapper" publicKeyToken="be96cd2c38ef1005" culture="neutral" />
-        <bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="8.0.0.0" />
-      </dependentAssembly>
-    </assemblyBinding>
-  </runtime>
-  <entityFramework>
-    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
-      <parameters>
-        <parameter value="mssqllocaldb" />
-      </parameters>
-    </defaultConnectionFactory>
-    <providers>
-      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
-    </providers>
-  </entityFramework>
-  <system.codedom>
-    <compilers>
-      <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:1659;1699;1701" />
-      <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" />
-    </compilers>
-  </system.codedom>
+<configuration>
+    <configSections>
+        <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
+    </configSections>
+    <connectionStrings>
+        <add name="DataContext" connectionString="Data Source=.;Initial Catalog=MyBlogs;Integrated Security=True;App=EntityFramework" providerName="System.Data.SqlClient" />
+    </connectionStrings>
+    <system.web>
+        <compilation debug="true" targetFramework="4.6.1" />
+        <httpRuntime targetFramework="4.5" maxRequestLength="2147483647" />
+        <customErrors mode="On" defaultRedirect="/Error">
+            <error statusCode="404" redirect="/Error" />
+        </customErrors>
+    </system.web>
+    <system.web.extensions>
+        <scripting>
+            <webServices>
+                <jsonSerialization maxJsonLength="2147483647" />
+            </webServices>
+        </scripting>
+    </system.web.extensions>
+    <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="DalNameSpace" value="DAL" />
+        <add key="DalPath" value="DAL.dll" />
+        <add key="BllPath" value="BLL.dll" />
+        <add key="BaiduAK" value="您的BaiduAK" /><!--BaiduAK,访客统计会用到-->
+        <add key="EnableViewCompress" value="false" />        <!--是否启用页面压缩-->
+    </appSettings>
+    <system.webServer>
+        <staticContent>
+            <remove fileExtension=".woff" />
+            <remove fileExtension=".woff2" />
+            <mimeMap fileExtension=".woff" mimeType="application/font-woff" />
+            <mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
+        </staticContent>
+        <security>
+            <requestFiltering allowDoubleEscaping="true" allowHighBitCharacters="true">
+                <requestLimits maxAllowedContentLength="2147483647" maxQueryString="2147483647" />
+            </requestFiltering>
+        </security>
+        <validation validateIntegratedModeConfiguration="false" />
+        <!--集成模式下不去验证system.web/httpModules节点-->
+        <modules>
+            <!--移除未使用的http模块-->
+            <remove name="WindowsAuthentication" />
+            <remove name="FormsAuthentication" />
+            <remove name="PassportAuthentication" />
+            <remove name="RoleManager" />
+            <remove name="UrlAuthorization" />
+            <remove name="FileAuthorization" />
+            <remove name="AnonymousIdentification" />
+            <remove name="Profile" />
+            <remove name="ErrorHandlerModule" />
+            <remove name="ServiceModel" />
+            <remove name="ScriptModule-4.0" />
+        </modules>
+        <handlers>
+            <add name="tag" type="System.Web.Routing.UrlRoutingHandler, System.Web" path="/tag/*" verb="*" />
+            <add name="search" type="System.Web.Routing.UrlRoutingHandler, System.Web" path="/s/*" verb="*" />
+            <add name="ip" type="System.Web.Routing.UrlRoutingHandler, System.Web" path="/tools/ip/*" verb="*" />
+            <add name="download" type="System.Web.Routing.UrlRoutingHandler, System.Web" path="/download/*" verb="*" />
+            <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
+            <remove name="OPTIONSVerbHandler" />
+            <remove name="TRACEVerbHandler" />
+            <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
+        </handlers>
+    </system.webServer>
+    <runtime>
+        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+            <dependentAssembly>
+                <assemblyIdentity name="AutoMapper" publicKeyToken="BE96CD2C38EF1005" culture="neutral" />
+                <bindingRedirect oldVersion="0.0.0.0-7.0.1.0" newVersion="7.0.1.0" />
+            </dependentAssembly>
+            <dependentAssembly>
+                <assemblyIdentity name="Antlr3.Runtime" publicKeyToken="EB42632606E9261F" culture="neutral" />
+                <bindingRedirect oldVersion="0.0.0.0-3.5.0.2" newVersion="3.5.0.2" />
+            </dependentAssembly>
+            <dependentAssembly>
+                <assemblyIdentity name="WebGrease" publicKeyToken="31BF3856AD364E35" culture="neutral" />
+                <bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930" />
+            </dependentAssembly>
+            <dependentAssembly>
+                <assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" culture="neutral" />
+                <bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930" />
+            </dependentAssembly>
+            <dependentAssembly>
+                <assemblyIdentity name="Antlr3.Runtime" publicKeyToken="eb42632606e9261f" culture="neutral" />
+                <bindingRedirect oldVersion="0.0.0.0-3.5.0.2" newVersion="3.5.0.2" />
+            </dependentAssembly>
+            <dependentAssembly>
+                <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
+                <bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
+            </dependentAssembly>
+            <dependentAssembly>
+                <assemblyIdentity name="Autofac" publicKeyToken="17863af14b0044da" culture="neutral" />
+                <bindingRedirect oldVersion="0.0.0.0-4.8.1.0" newVersion="4.8.1.0" />
+            </dependentAssembly>
+            <dependentAssembly>
+                <assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral" />
+                <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
+            </dependentAssembly>
+            <dependentAssembly>
+                <assemblyIdentity name="Microsoft.AspNet.SignalR.Core" publicKeyToken="31bf3856ad364e35" culture="neutral" />
+                <bindingRedirect oldVersion="0.0.0.0-2.4.0.0" newVersion="2.4.0.0" />
+            </dependentAssembly>
+            <dependentAssembly>
+                <assemblyIdentity name="Microsoft.Owin.Security" publicKeyToken="31bf3856ad364e35" culture="neutral" />
+                <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
+            </dependentAssembly>
+            <dependentAssembly>
+                <assemblyIdentity name="System.Web.Cors" publicKeyToken="31bf3856ad364e35" culture="neutral" />
+                <bindingRedirect oldVersion="0.0.0.0-5.2.7.0" newVersion="5.2.7.0" />
+            </dependentAssembly>
+            <dependentAssembly>
+                <assemblyIdentity name="Common.Logging.Core" publicKeyToken="af08829b84f0328e" culture="neutral" />
+                <bindingRedirect oldVersion="0.0.0.0-3.4.1.0" newVersion="3.4.1.0" />
+            </dependentAssembly>
+            <dependentAssembly>
+                <assemblyIdentity name="Common.Logging" publicKeyToken="af08829b84f0328e" culture="neutral" />
+                <bindingRedirect oldVersion="0.0.0.0-3.4.1.0" newVersion="3.4.1.0" />
+            </dependentAssembly>
+            <dependentAssembly>
+                <assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" />
+                <bindingRedirect oldVersion="0.0.0.0-5.2.7.0" newVersion="5.2.7.0" />
+            </dependentAssembly>
+            <dependentAssembly>
+                <assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
+                <bindingRedirect oldVersion="0.0.0.0-5.2.7.0" newVersion="5.2.7.0" />
+            </dependentAssembly>
+            <dependentAssembly>
+                <assemblyIdentity name="AutoMapper" publicKeyToken="be96cd2c38ef1005" culture="neutral" />
+                <bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="8.0.0.0" />
+            </dependentAssembly>
+            <dependentAssembly>
+                <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
+                <bindingRedirect oldVersion="0.0.0.0-5.2.7.0" newVersion="5.2.7.0" />
+            </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>
+        </assemblyBinding>
+    </runtime>
+    <entityFramework>
+        <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
+            <parameters>
+                <parameter value="mssqllocaldb" />
+            </parameters>
+        </defaultConnectionFactory>
+        <providers>
+            <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
+        </providers>
+    </entityFramework>
+    <system.codedom>
+        <compilers>
+            <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:1659;1699;1701" />
+            <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" />
+        </compilers>
+    </system.codedom>
 </configuration>

+ 4 - 4
src/Masuit.MyBlogs.WebApp/ng-views/views/analysis/interview.html

@@ -141,7 +141,7 @@
             </div>
         </div>
 
-        <div class="col-sm-4 col-md-2">
+        <!--<div class="col-sm-4 col-md-2">
             <div class="mini-charts-item bgm-deeporange">
                 <div class="clearfix">
                     <div class="chart stats-bar-2" data-sparkline-bar></div>
@@ -163,7 +163,7 @@
                     </div>
                 </div>
             </div>
-        </div>
+        </div>-->
 
         <div class="col-sm-4 col-md-2">
             <div class="mini-charts-item bgm-bluegray">
@@ -233,7 +233,7 @@
                 </div>
             </div>
         </div>
-        <div class="col-sm-8 col-md-4">
+        <!--<div class="col-sm-8 col-md-4">
             <div class="mini-charts-item bgm-orange">
                 <div class="clearfix">
                     <div class="chart stats-line-2" data-sparkline-line></div>
@@ -260,7 +260,7 @@
                     </div>
                 </div>
             </div>
-        </div>
+        </div>-->
     </div>
 </div>
 

+ 12 - 12
src/Masuit.MyBlogs.WebApp/packages.config

@@ -20,11 +20,11 @@
   <package id="jQuery" version="3.3.1" targetFramework="net45" />
   <package id="Lucene.Net" version="3.0.3" targetFramework="net45" />
   <package id="Lucene.Net.Analysis.PanGu" version="2.4.1" targetFramework="net45" />
-  <package id="Microsoft.AspNet.Cors" version="5.2.6" targetFramework="net46" />
-  <package id="Microsoft.AspNet.Mvc" version="5.2.6" targetFramework="net46" />
-  <package id="Microsoft.AspNet.Mvc.zh-Hans" version="5.2.6" targetFramework="net46" />
-  <package id="Microsoft.AspNet.Razor" version="3.2.6" targetFramework="net46" />
-  <package id="Microsoft.AspNet.Razor.zh-Hans" version="3.2.6" targetFramework="net46" />
+  <package id="Microsoft.AspNet.Cors" version="5.2.7" targetFramework="net461" />
+  <package id="Microsoft.AspNet.Mvc" version="5.2.7" targetFramework="net461" />
+  <package id="Microsoft.AspNet.Mvc.zh-Hans" version="5.2.7" targetFramework="net461" />
+  <package id="Microsoft.AspNet.Razor" version="3.2.7" targetFramework="net461" />
+  <package id="Microsoft.AspNet.Razor.zh-Hans" version="3.2.7" targetFramework="net461" />
   <package id="Microsoft.AspNet.SignalR" version="2.4.0" targetFramework="net461" />
   <package id="Microsoft.AspNet.SignalR.Core" version="2.4.0" targetFramework="net461" />
   <package id="Microsoft.AspNet.SignalR.Core.zh-Hans" version="2.4.0" targetFramework="net461" />
@@ -33,12 +33,12 @@
   <package id="Microsoft.AspNet.SignalR.SystemWeb.zh-Hans" version="2.4.0" targetFramework="net461" />
   <package id="Microsoft.AspNet.SignalR.zh-Hans" version="2.4.0" targetFramework="net461" />
   <package id="Microsoft.AspNet.Web.Optimization" version="1.1.3" targetFramework="net45" />
-  <package id="Microsoft.AspNet.WebApi" version="5.2.6" targetFramework="net46" />
-  <package id="Microsoft.AspNet.WebApi.Client" version="5.2.6" targetFramework="net46" />
-  <package id="Microsoft.AspNet.WebApi.Core" version="5.2.6" targetFramework="net46" />
-  <package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.6" targetFramework="net46" />
-  <package id="Microsoft.AspNet.WebPages" version="3.2.6" targetFramework="net46" />
-  <package id="Microsoft.AspNet.WebPages.zh-Hans" version="3.2.6" targetFramework="net46" />
+  <package id="Microsoft.AspNet.WebApi" version="5.2.7" targetFramework="net461" />
+  <package id="Microsoft.AspNet.WebApi.Client" version="5.2.7" targetFramework="net461" />
+  <package id="Microsoft.AspNet.WebApi.Core" version="5.2.7" targetFramework="net461" />
+  <package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.7" targetFramework="net461" />
+  <package id="Microsoft.AspNet.WebPages" version="3.2.7" targetFramework="net461" />
+  <package id="Microsoft.AspNet.WebPages.zh-Hans" version="3.2.7" targetFramework="net461" />
   <package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="2.0.1" targetFramework="net46" />
   <package id="Microsoft.CSharp" version="4.5.0" targetFramework="net46" />
   <package id="Microsoft.Net.Compilers" version="2.10.0" targetFramework="net461" developmentDependency="true" />
@@ -60,6 +60,6 @@
   <package id="System.ValueTuple" version="4.5.0" targetFramework="net46" requireReinstallation="true" />
   <package id="WebActivatorEx" version="2.2.0" targetFramework="net45" />
   <package id="WebGrease" version="1.6.0" targetFramework="net45" />
-  <package id="Z.EntityFramework.Extensions" version="3.16.13" targetFramework="net461" />
+  <package id="Z.EntityFramework.Extensions" version="3.16.14" targetFramework="net461" />
   <package id="Z.ExtensionMethods" version="2.1.0" targetFramework="net46" />
 </packages>

BIN
src/libs/Aspose.Words.dll