Questions tagged «c#»

C#(发音为“ See Sharp”)是由Microsoft开发的一种高级,静态类型的多范例编程语言。C#代码通常针对Microsoft的.NET系列工具和运行时,其中包括.NET Framework,.NET Core和Xamarin。使用此标记可解决有关用C#或C#正式规范编写的代码的问题。

9
在ASP.NET MVC中重定向未经授权的控制器
我在ASP.NET MVC中有一个控制器,但仅限于管理员角色: [Authorize(Roles = "Admin")] public class TestController : Controller { ... 如果没有管理员角色的用户导航到该控制器,则会看到空白屏幕。 我想做的就是将他们重定向到View,上面写着“您必须具有管理员角色才能访问此资源。” 我想到的一种方法是检查IsUserInRole()上的每个操作方法,如果不起作用,则返回此信息视图。但是,我必须将其放在每个操作中,这会破坏DRY原理,并且维护起来很麻烦。

8
如何检测文本文件的字符编码?
我尝试检测文件中使用了哪种字符编码。 我尝试使用此代码来获取标准编码 public static Encoding GetFileEncoding(string srcFile) { // *** Use Default of Encoding.Default (Ansi CodePage) Encoding enc = Encoding.Default; // *** Detect byte order mark if any - otherwise assume default byte[] buffer = new byte[5]; FileStream file = new FileStream(srcFile, FileMode.Open); file.Read(buffer, 0, 5); file.Close(); if (buffer[0] == …

5
给定的键在词典中不存在。哪个键?
有没有一种方法可以影响所有通用类,从而在C#中的以下异常中获取给定键的值?我认为这是Microsoft的异常描述中的一个大小姐。 "The given key was not present in the dictionary." 更好的方法是: "The given key '" + key.ToString() + "' was not present in the dictionary." 解决方案可能涉及mixin或派生类。

11
无法安装Windows服务
我已经使用Visual Studio 2010和.N ُ ET 4.0创建了一个非常简单的窗口服务。 除了已添加安装程序外,此服务没有从默认Windows服务项目中添加任何功能。 如果在我的开发箱或我们域中的其他Windows 2008 R2计算机上运行“ installutil.exe appName.exe”,则Windows服务安装不会出现问题。 当我尝试在我们的客户站点上执行此操作时,它无法安装并出现以下错误。 Microsoft (R) .NET Framework Installation utility Version 4.0.30319.1 Copyright (c) Microsoft Corporation. All rights reserved. Exception occurred while initializing the installation: System.IO.FileLoadException: Could not load file or assembly 'file:///C:\TestService\WindowsService1.exe' or one of its dependencies. Operation is not …

11
xml.LoadData-根级别的数据无效。1号线,位置1
我正在尝试在WiX安装程序中解析一些XML。XML将是我从Web服务器返回的所有错误的对象。我收到以下代码的问题标题中的错误: XmlDocument xml = new XmlDocument(); try { xml.LoadXml(myString); } catch (Exception ex) { System.IO.File.WriteAllText(@"C:\text.txt", myString + "\r\n\r\n" + ex.Message); throw ex; } myString这是(如的输出所示text.txt) <?xml version="1.0" encoding="utf-8"?> <Errors></Errors> text.txt 看起来像这样: <?xml version="1.0" encoding="utf-8"?> <Errors></Errors> Data at the root level is invalid. Line 1, position 1. 我需要解析该XML,以便查看是否有任何错误。 编辑 此问题不是标记的重复项。在那个问题中,提出问题的人正在使用它LoadXml来解析XML文件。我正在解析一个字符串,这是正确的用法LoadXml
76 c#  xml  xml-parsing  wix 

8
如何在ASP.NET中检查Request.QueryString是否具有特定值?
我有error.aspx一页 如果用户访问该页面,它将page_load()使用方法URL获取错误路径,Request.QueryString["aspxerrorpath"]并且可以正常工作。 但是,如果用户直接访问该页面,则该页面将生成异常,因为该页面aspxerrorpath不存在。 如何检查aspxerrorpath是否存在?
76 c#  asp.net  .net 


1
为什么我需要使用Rfc2898DeriveBytes类(在.NET中),而不是直接使用密码作为密钥或IV?
使用Rfc2898DeriveBytes和仅使用之间有什么区别Encoding.ASCII.GetBytes(string object);? 我在这两种方法中都取得了相对的成功,前一种方法是一个比较冗长的方法,而后者则简单易懂。两者似乎都允许您最终做同样的事情,但是我很难理解使用前者而不是后者的意义。 我已经掌握的基本概念是,您可以将字符串密码转换为字节数组,以用于例如对称加密类AesManaged。通过RFC类,但是在创建rfc对象时可以使用salt值和密码。我认为它更安全,但这充其量也是毫无根据的猜测!另外,它还允许您返回一定大小的字节数组,类似的东西。 以下是一些示例,向您展示我来自哪里: byte[] myPassinBytes = Encoding.ASCII.GetBytes("some password"); 要么 string password = "P@%5w0r]>"; byte[] saltArray = Encoding.ASCII.GetBytes("this is my salt"); Rfc2898DeriveBytes rfcKey = new Rfc2898DeriveBytes(password, saltArray); 现在,可以使用“ rfcKey”对象在对称加密算法类上设置.Key或.IV属性。 即。 RijndaelManaged rj = new RijndaelManaged (); rj.Key = rfcKey.Getbytes(rj.KeySize / 8); rj.IV = rfcKey.Getbytes(rj.Blocksize / 8); 'rj'应该准备好了! 令人困惑的部分...因此,我不能只使用我的“ myPassInBytes”数组来帮助设置“ …



9
log4net将在哪里创建此日志文件?
当我将文件值设置logs\log-file.txt为时,它将在哪里创建该文件夹?在/bin目录中? 我的web.config看起来像这样: <log4net> <appender name="FileAppender" type="log4net.Appender.FileAppender"> <file value="logs\log-file.txt" /> <appendToFile value="true" /> <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" /> </layout> </appender> </log4net> 这是正确的登录方式: ILog logger = LogManager.GetLogger(typeof(CCController)); logger.Error("Some Page", ex); // where ex is the exception instance

3
用LINQ查询DataColumnCollection
我正在尝试对DataTable的Columns属性执行简单的LINQ查询: from c in myDataTable.Columns.AsQueryable() select c.ColumnName 但是,我得到的是: 找不到源类型“ System.Linq.IQueryable”的查询模式的实现。找不到“选择”。考虑明确指定范围变量“ c”的类型。 如何使DataColumnCollection与LINQ配合使用?




By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.