asp.net core设置默认起始页Default Page和重定向

用Asp.Net Core的网站Deploy至IIS,因此找了下,发现两种方法: 添加引用 using System.Threading.Tasks; using Microsoft.AspNetCore.Builder; using Microsoft.Extensions.Logging; 1.设置默认起始页 2.重定向到起始页 1.设置默认起始页 在 startup.cs中的Configure(IApplicationBuilder app, IHostingEnvironment env,ILoggerFactory logger)方法中加入: DefaultFilesOptions options = new DefaultFilesOptions(); options.DefaultFileNames.Add(“index.html”); //将index.html改为需要默认起始页的文件名. app.UseDefaultFiles(options); app.UseStaticFiles(); 2.重定向到起始页 同样在startup.cs中的Configure(IApplicationBuilder app, IHostingEnvironment env,ILoggerFactory logger)方法中加入: app.UseStaticFiles(); app.Run(ctx … “asp.net core设置默认起始页Default Page和重定向”

Read More

MSBuild 关闭Warning警告信息

通常一个大项目,无论使用那种语言,总会有warning警告信息。有些语言比如C/C++的警告最好别忽略,因为C语言一不小心就能让你进坑里,但是有些语言的警告却并不是那么要紧,比如C#。 使用C#的大项目很多,本地调试编译可以在VS中设置,但是用CI的时候那就只能调用MSBuild命令行进行编译,这时候输出会有一大堆警告。 其实MSBuild可以加参数来屏蔽警告,有两种方式: 1.使用/p:nowarn=1591可以屏蔽CS1591警告信息.如果要同时指定屏蔽多个,可以这样/p:nowarn=”105,1591,1572,1573″ 2.使用/p:WarningLevel=0可以屏蔽所有警告.WarningLevel的分级信息如下: 0 Turns off emission of all warning messages. 1 Displays severe warning messages 2 Displays level 1 warnings plus certain, less-severe warnings, such as warnings about hiding class members 3 … “MSBuild 关闭Warning警告信息”

Read More

C# .net core 解决ToLower中缺少CultureInfo格式重载

使用AppendFormat即可. 代码: var builder = new StringBuilder(); //.net framework下ToLower方法存在CultureInfo的重载方法. //builder.Append(entry.Key.ToLower(CultureInfo.InvariantCulture)); //.net core 下没有实现该重载,使用AppendFormat方法或者string.Format builder.AppendFormat(CultureInfo.InvariantCulture, “{0}”, entry.Key.ToLower());

Read More

C# .net core 使用DataContractJsonSerializer

.net core1.1,去掉了对该方法的支持只需添加依赖包, 不过在github的issue中说是2.0将会支持。 添加依赖包System.Runtime.Serialization.Json即可。 参考: – REST client – DataContractJsonSerializer failing in Microsoft.NetCore.UniversalWindowsPlatform – which nuget package I should add in my json file to use System.Serializable attribute?

Read More

C# .net core 使用JsonConvert替代JavaScriptSerializer

.net core 中不存在System.Runtime.Serialization.Json与System.Web.Script.Serialization这两个namespace,因此也就不存在JavaScriptSerializer,所以在移植项目时,可以使用Newtonsoft.Json中的JsonConvert来替代。 代码: //.net framework下 //JavaScriptSerializer serializer = new JavaScriptSerializer(); //var res = serializer.Serialize(YourObject); //.net core 下使用Newtonsoft.Json var res = JsonConvert.SerializeObject(YourObject);

Read More

C# .net core 使用自定义的WebProxy

因为.net core 的System.Net 中没有提供WebProxy这个方法,所以可以根据需求实现一个. public class CoreWebProxy : IWebProxy { public readonly Uri Uri; private readonly bool bypass; public CoreWebProxy(Uri uri, ICredentials credentials = null, bool bypass = false) { Uri = uri; this.bypass = … “C# .net core 使用自定义的WebProxy”

Read More

C# .net core System.Xml.Serialization 需使用包 System.Xml.XmlSerializer补齐属性

.net core 也是够奇葩的,去掉了原先许多using System.Xml.Serialization中的接口又以打包的方式提供真没话讲了。 代码: // [XmlRoot(“DeleteResult”)]和[XmlElement(“Deleted”)],.net core中引用`System.Xml.Serialization`是没有提供的这种方法的,你需要安装依赖包System.Xml.XmlSerializer就可以了。 [XmlRoot(“DeleteResult”)] public class DeleteObjectsResult : GenericResult { private DeletedObject[] _keys; [XmlElement(“Deleted”)] public DeletedObject[] Keys { get { if (EncodingType == null) return _keys; bool isUrlEncoding = EncodingType.ToLowerInvariant().Equals(HttpUtils.UrlEncodingType); … “C# .net core System.Xml.Serialization 需使用包 System.Xml.XmlSerializer补齐属性”

Read More