首页
归档
留言
广告合作
友链
美女主播
Search
1
博瑞GE车机升级/降级
5,146 阅读
2
Mac打印机设置黑白打印
4,517 阅读
3
修改elementUI中el-table树形结构图标
4,516 阅读
4
Mac客户端添加腾讯企业邮箱方法
4,351 阅读
5
intelliJ Idea 2022.2.X破解
4,060 阅读
Java
HarmonyOS Next
Web前端
微信开发
开发辅助
App开发
数据库
随笔日记
登录
/
注册
Search
标签搜索
Spring Boot
Java
Spring Cloud
Mac
mybatis
WordPress
Nacos
Spring Cloud Alibaba
Mybatis-Plus
jQuery
Java Script
asp.net
微信小程序
Sentinel
UniApp
MySQL
asp.net core
IntelliJ IDEA
Jpa
树莓派
Laughing
累计撰写
570
篇文章
累计收到
1,424
条评论
首页
栏目
Java
HarmonyOS Next
Web前端
微信开发
开发辅助
App开发
数据库
随笔日记
页面
归档
留言
广告合作
友链
美女主播
搜索到
8
篇与
的结果
2017-11-29
asp.net core中bootstrap-table无法获取返回的Json数据
之前在ASP.NET Core下面,通过bootstrap-table也展示过数据,当时也是在controller中直接返回了Json对象,当时没有任何问题,但是今天测试的时候,发现返回的数据不能展示了,所有的数据都变成了 -,其实就是数据有问题,但是查看返回的Json数据的时候,Json数据格式也没有任何问题。处理Json返回的数据更多调试发现,Json对象还有一个JsonSerializerSettings参数的重载函数,然后直接实例化了一个JsonSerializerSettings对象,然后返回Json就可以了,具体如下var rows = productHelper.GetProductPager(limit, offset); int total = rows.Count(); JsonSerializerSettings settings = new JsonSerializerSettings(); //settings.MaxDepth = 50; //settings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore; //设置不处理循环引用 //转成Json格式 return Json(new { total = total, rows = rows }, settings); //return Json(new { total = total, rows = rows });
2017年11月29日
1,494 阅读
0 评论
22 点赞
2017-11-26
DotNet Core部署iis提示The application process started but failed to listen on the configured port
今天将一个DotNetCore网站部署到IIS的时候,系统提示The application process started but failed to listen on the configured port首先提示这个错误的,肯定是已经安装了Windows Server Hosting,如果没有安装Windows Server Hosting 的话,报错的信息不是这个,但是既然安装了Windows Server Hosting,为什么还会提示这个错误呢,其实导致这个错误的原因非常简单,就是安装完Windows Server Hosting没有重启IIS.重启IIS时,只重启了当前网站。所以解决办法也非常简单安装完Windows Server Hosting后一定要重启IIS,大家可以使用 iisreset命令重启
2017年11月26日
1,644 阅读
1 评论
0 点赞
2017-11-25
ASP.NET Core使用Redis
Redis是优秀的缓存组件,我们在DotNetCore中也能够很方便的使用。本文主要介绍在虚拟机安装Window Server作为缓存服务器进行简单使用的方法。使用准备为了使用Redis,我们需要一个缓存服务器,这里我们所有的东西都是通过Nuget的方式进行安装的。需要注意的是,Redis官方没有Win版本的,但是我们可以使用微软第三方的我们首先需要安装一下的Nuget包Microsoft.AspNetCore.Session Microsoft.AspNetCore.Http.Extensions Microsoft.Extensions.Caching.Redis Redis-64其中Redis位于C:\Users\Administrator.nuget\packages\redis-64将Redis-64文件夹拷贝到服务器,然后打开\3.0.503\tools\redis-server.exe 开启Redis
2017年11月25日
1,423 阅读
0 评论
2 点赞
2017-11-25
ASP.NET Core ISession找不到SetString方法
不得不感叹一下,现在ASP.NET Core的资料实在是太少了,官网的文档看着也混乱。有时候遇到点问题都找不到解决方案,网上的文章也基本是一人发表,全网来抄。DoNetCore默认的Session只能写入byte数组,为了能够调用SetString()方法,我们还需要安装如下的Nuget包Microsoft.AspNetCore.Http.Extensions这个当时郁闷了好久,就是找不到SetString()方法,大家如果碰到的,也看一下是不是缺少包
2017年11月25日
1,582 阅读
2 评论
2 点赞
2017-09-23
ASP.NET Core WebApi配置跨域访问
WebApi如果没有正确配置跨域访问,会提示Preflight response is not successful在asp.net core中,我们可以通过startup.cs配置跨域问题配置startup.csservices.AddCors(options=>{ options.AddPolicy("any",builder=>{ builder.AllowAnyOrigin() .AllowAnyMethod() .AllowAnyHeader() .AllowCredentials(); }); });配置controller除了配置startup.cs允许跨域外,我们还需要在controller方法中增加[EnableCors("any")]属性[HttpGet] [Produces("application/json")] [EnableCors("any")] public JsonResult Get() { return Json(_service.Get()); }ajax调用配置完成后,我们就可以通过ajax调用$(function(){ $.ajax({ url:"http://localhost:5000/Product", type:"get", contentType: 'application/json', success:function(data){ var obj = data; var str=""; for(var i=0;i<obj.length;i++){ str+="<li>"+obj[i].name+"</li>"; } $("#div1").append(str); } }); });
2017年09月23日
1,250 阅读
0 评论
2 点赞
2017-09-18
ASP.NET Core读取XML文件
ASP.NET Core中,默认应用程序的配置是json文件,如果我们需要读取xml文件,是否也可以呢?答案是肯定的。其实读取xml文件的方式,跟读取json的方式基本是一样的,都可以通过Configuration读取。定义XML文件首先,我们定义个XML文件,这里我们命名为appsettings.xml,具体的内容如下:<?xml version="1.0" encoding="UTF-8" ?> <AppConfig> <WebSite> <Url des="网址">www.xiangcaowuyu.net</Url> <Email>admin@lisen.org</Email> </WebSite> </AppConfig>修改配置文件程序如果不配置,默认读取的是appsettings.json或者appsettings.Development,我们需要修改程序,读取xml的配置文件。打开program.cs文件,修改内容如下using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Logging; using Microsoft.AspNetCore.Builder; namespace Study.WebUI { public class Program { public static void Main(string[] args) { BuildWebHost(args).Run(); } public static IWebHost BuildWebHost(string[] args) => WebHost.CreateDefaultBuilder(args) .UseStartup<Startup>() .UseConfiguration(new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddXmlFile("appsettings.xml").Build()) .UseKestrel(options => { options.Limits.MaxConcurrentConnections = 1024; options.Limits.MaxRequestBodySize = 10 * 1024; }) .Build(); } }安装Nuget包为了读取xml文件,我们需要安装Microsoft.Extensions.Configuration.Xml使用以下代码分别演示读取xml节点的属性以及值得方法app.Use(async (context,next) => { Console.WriteLine("网址:"+Configuration["WebSite:Url:des"]);//读取属性 Console.WriteLine("邮箱:"+Configuration["WebSite:Email"]);//读取节点内容 await next.Invoke(); });温馨提示读取xml不需要最外层跟节点,否则会返回null
2017年09月18日
1,655 阅读
0 评论
2 点赞
2017-09-05
ASP.NET CORE中URL的重写和重定向
URL的重写和重定向我们还是比较经常用的,不管我们做301跳转还是防盗链亦或是进行SEO,我们都经常使用到URL的重写或者重定向。我本人也是做ERP的,所以业务系统使用的这些功能相对来说比较少,我也只是参考[url href='https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/url-rewriting?tabs=aspnetcore2x']微软官方文档[/url]进行学习,有不足的地方大家多多指教。重定向不管是重定向还是重写,我们都需要在startup.cs中调用UseRewriter()中间件。UseRewriter()方法需要一个RewriteOptions参数,这个类位于Microsoft.AspNetCore.Rewrite命名空间。我们按照如下方式配置重定向,第一个参数是正则表达式,第二个是要跳转的位置,第三个是跳转状态,默认是302,这里我们可以改成301var options = new RewriteOptions() .AddRedirect(@"index/(\d+)", "https://www.xiangcaowuyu.net/", 301); app.UseRewriter(options);这样配置按成后,所有方位/index/*下面的地址都讲跳转到我的博客地址。同样的,我们可以通过.AddRedirectToHttps(301,443)讲http跳转到https,第一个是状态,一般使用301永久跳转,第二个是https的端口号。也可以通过.AddRedirectToHttpsPermanent()通过301跳转到443端口重写.AddRewrite(@"^index1/(\d+)", "https://www.xiangcaowuyu.net/", skipRemainingRules: true);方法是实现URL重写,第一个参数同样是正则表达式,第二个是要跳转的位置,第三个参数代表是否忽略其他的规则。通过读取Apache配置文件实现重写通过.AddApacheModRewrite(apacheModRewriteStreamReader);可以读取Apache的伪静态规则首先,我们需要创建一个Apache的伪静态规则的txt文件ApacheModRewrite.txt\# Rewrite path with additional sub directory RewriteRule ^/apache-mod-rules-redirect/(.*) https://www.xiangcaowuyu.net/ [L,R=302] 然后配置startup.cs,如下 using(StreamReader apacheModRewriteStreamReader=new StreamReader("ApacheModRewrite.txt")) using(StreamReader iisUrlRewriteStreamReader=new StreamReader("iisUrlRewrite.txt")) { var options = new RewriteOptions() //.AddRedirect("index1/(.*)","https://www.xiangcaowuyu.net/",301) .AddApacheModRewrite(apacheModRewriteStreamReader); //.AddRewrite(@"^index1/(\d+)", "https://www.xiangcaowuyu.net/", skipRemainingRules: true); app.UseRewriter(options); }IIS重写配置文件iisUrlRewrite.xml如下<rewrite> <rules> <rule name="Rewrite segment to id querystring" stopProcessing="true"> <match url="^iis-rules-rewrite/(.*)$" /> <action type="Rewrite" url="https://www.xiangcaowuyu.net/" appendQueryString="false"/> </rule> </rules> </rewrite> using(StreamReader apacheModRewriteStreamReader=new StreamReader("ApacheModRewrite.txt")) using(StreamReader iisUrlRewriteStreamReader=new StreamReader("iisUrlRewrite.xml")) { var options = new RewriteOptions() //.AddRedirect("index1/(.*)","https://www.xiangcaowuyu.net/",301) .AddIISUrlRewrite(iisUrlRewriteStreamReader) .Add(RewriteMapSegment; //.AddRewrite(@"^index1/(\d+)", "https://www.xiangcaowuyu.net/", skipRemainingRules: true); app.UseRewriter(options); }
2017年09月05日
1,504 阅读
0 评论
0 点赞
2017-09-04
ASP.NET Core Razor 页面路由
在服务器端 Web 应用程序框架中,其中非常重要的设计是开发人员如何将URL与服务器上的资源进行匹配,以便正确的处理请求。最简单的方法是将 URL 映射到磁盘上的物理文件,在 Razor 页面框架中,ASP.NET团队就是这样实现的。关于 Razor 页面框架如何将 URL 与文件相匹配,有一些规则您必须了解,以及如何根据需要自定义规则改变输出的结果。如果您将 Razor 页面与 Web Form 框架进行比较,您还需要了解取代的 Url参数以及在URL中传递数据的机制。规则一,Razor 页面需要一个根目录。默认情况下,该根目录是 Pages,位于Web应用程序项目的根目录中。您可以在Startup类的ConfigureServices方法中配置其它文件夹作为根目录。以下是将根目录更改为位于应用程序 “Content” 文件夹:public void ConfigureServices(IServiceCollection services) { services .AddMvc(). AddRazorPagesOptions(options => { options.RootDirectory = "/Content"; }); }规则二,URL映射到Razor页面,URL不包含文件扩展名。规则三,“Index.cshtml”是一个默认文档,这意味着如果URL中缺少文件名,该请求将被映射到指定文件夹中的“Index.cshtml”。URL传递参数就像大多数其它框架一样,参数可以作为查询字符串在 URL 中传递,例如:www.domain.com/product?id=1;或者,您可以将其作为路由参数传递,因此上述示例将变为www.domain.com/product/1。URL的一部分必须映射到参数名称,在页面的路由模板来实现的,@page指令的一部分:@page "{id:int}"该模板告诉框架将页面名称之后URL的第一段作为“id”的路由参数。您可以通过多种方式访问路由参数的值。第一个是使用RouteData字典:@page "{id}" { var productId = RouteData.Values["id"]; }或者,您可以向该页面的OnGet()方法添加与路由参数相同名称的参数,并将其值分配给公共属性:@page "{id}" @{ @functions{ public int Id { get; set; } public void OnGet(int id) { Id = id; } } } <p>The Id is @Id</p>如果您使用的是PageModel,那么是这样实现的:using Microsoft.AspNetCore.Mvc.RazorPages; namespace RazorPages.Pages { public class ProductModel : PageModel { public int Id { get; set; } public void OnGet(int id) { Id = id; } } } @page "{id}" @model ProductModel <p>The Id is @Model.Id</p>最后,您可以在公有属性使用BindProperty特性,并省略该OnGet方法中的参数。Razor 文件内容保持不变,但是PageModel代码略有更改:using Microsoft.AspNetCore.Mvc.RazorPages; namespace RazorPages.Pages { public class ProductModel : PageModel { [BindProperty(SupportsGet = true)] public int Id { get; set; } public void OnGet() { } } }约束此外,在此示例中参数的约束是它必须有一个值。URL www.domain.com/product/apple与www.domain.com/product/21一样有效,都是可以与路由匹配。如果您希望id值为整数,则可以通过将数据类型添加到模板来指定约束:@page "{id:int}"现在,如果您尝试通过“apple”作为参数值,应用程序将返回404 Not Found状态码。您可以指定值不是必需的,可以将参数设置为可为空类型:@page "{id:int?}"如果您的应用程序允许使用“apple”作为参数值,则可以指定只允许使用A-Z和a-z的字符:@page "{id:alpha}"您可以与最小长度要求相结合:@page "{id:alpha:minlength(4)}"更多的约束信息,可以查看[url href='https://docs.microsoft.com/en-us/aspnet/core/fundamentals/routing#route-constraint-reference']微软文档[/url]
2017年09月04日
1,629 阅读
0 评论
3 点赞