Questions tagged «c#»

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

2
Web API中基于令牌的身份验证,没有任何用户界面
我正在ASP.Net Web API中开发REST API。我的API仅可通过非基于浏览器的客户端访问。我需要为我的API实现安全性,因此我决定采用基于令牌的身份验证。我对基于令牌的身份验证有一定的了解,并且阅读了一些教程,但是它们都有一些用于登录的用户界面。我不需要任何UI进行登录,因为登录详细信息将由客户端通过HTTP POST传递,而HTTP POST将从我们的数据库中获得授权。如何在我的API中实现基于令牌的身份验证?请注意-我的API将以高频率访问,因此我也必须注意性能。请让我知道是否可以更好地解释它。

11
创建对象实例而不调用构造函数?
在C#中,有没有一种方法可以实例化一个类的实例而不调用其构造函数? 假设该类是公共的,并且在第3方库中定义,并且构造函数是内部的。我想要这样做的原因很复杂,但是了解使用某种C#黑客是否可能会有所帮助。 注意:我特别不想调用任何构造函数,因此不能使用反射来访问内部构造函数。
68 c# 

4
结案申请
关闭C#应用程序时的最佳实践是什么? 我读过您可以使用: Environment.Exit(0); or Application.Exit(); 但是有什么区别呢? 此外,关于Environment.Exit(0),我在使用Java之前曾使用过退出代码,但从未完全理解它们的用途。当退出C#应用程序时,它们扮演什么角色?
68 c# 



4
如果使用可枚举的大对象,Parallel.ForEach可能会导致“内存不足”异常
我正在尝试将数据库中存储了图像的数据库迁移到数据库中指向硬盘驱动器上文件的记录。我试图使用这种方法来Parallel.ForEach加快查询速度,以查询出数据。 但是,我注意到我遇到了OutOfMemory异常。我知道Parallel.ForEach将查询一批可枚举的对象,以减少开销(如果有一个用于将查询间隔开)(因此,如果您一次执行一堆查询而不是将它们间隔开,那么您的源将更有可能将下一条记录缓存在内存中出来)。问题是由于我返回的记录之一是一个1-4Mb字节数组,缓存导致整个地址空间用完(该程序必须以x86模式运行,因为目标平台将是32位机) 有什么方法可以禁用缓存或使TPL的缓存更小吗? 这是显示问题的示例程序。这必须在x86模式下进行编译,以显示问题,如果它花费很长时间或在您的计算机上没有发生,则增大了阵列的大小(我发现1 << 20在我的计算机上花费了大约30秒的时间,并且4 << 20几乎是瞬时的) class Program { static void Main(string[] args) { Parallel.ForEach(CreateData(), (data) => { data[0] = 1; }); } static IEnumerable<byte[]> CreateData() { while (true) { yield return new byte[1 << 20]; //1Mb array } } }

2
Autofac:解决类型的所有实例
鉴于以下注册 builder.Register<A>().As<I>(); builder.Register<B>().As<I>(); builder.Register<C>().As<I>(); var container = builder.Build(); 我正在寻求将类型I的所有实例解析为IEnumerable(数组或集合都没有关系)。 在温莎,我会写以下内容。 foreach(I i in container.ResolveAll<I>()) { ... } 我正在从温莎迁移到Autofac 1.4.4.561,但看不到等效的语法。
68 c#  autofac 

10
如何将参数从@ Url.Action传递到控制器功能
我有一个功能CreatePerson(int id),我想通过id从@Url.Action。 下面是参考代码: public ActionResult CreatePerson(int id) //controller window.location.href = "@Url.Action("CreatePerson", "Person") + id"; 上面的代码无法将id值传递给CreatePerson函数。
68 c#  asp.net-mvc 


4
将JToken(或字符串)转换为给定的Type
TL; DR版本 我有一个类型的对象JToken(但也可以是string),我需要将其转换为type变量中包含的Type : Type type = typeof(DateTime); /* can be any other Type like string, ulong etc */ var obj = jsonObject["date_joined"]; /* contains 2012-08-13T06:01:23Z+05:00 */ var result = Some_Way_To_Convert(type, obj); 上面result应该是一个DateTime对象,其值在中给出date_joined。 全文 我在Windows Phone项目中同时使用RestSharp和Json.NET,并且在尝试反序列化REST API的JSON响应时遇到问题。 我实际上要完成的工作是编写一个通用方法,该方法可以轻松地将JSON响应映射到我的CLR实体中,就像您已经可以使用RestSharp一样。唯一的问题是默认的RestSharp实现对我不起作用,并且由于响应并不总是返回所有属性(我不返回null来自REST服务器的字段),因此它无法成功解析JSON 。 这就是为什么我决定使用Newtonsoft的Json.NET的原因,因为它具有更强大的Json反序列化引擎。不幸的是,它不支持RestSharp之类的模糊属性/字段名(或者我还没有找到),因此当我使用诸如say时,它也无法正确映射到我的CLR实体JsonConvert.DeserializeObject<User>(response.Content)。 这是我的Json的样子(实际上是一个示例): { "id" : 77239923, "username" : "UzEE", "email" : …

3
IQueryable,List,IEnumerator之间的区别?
我想知道IQueryable,List,IEnumerator和什么时候应该使用每一个之间有什么区别? 例如,当使用Linq到SQL时,我将执行以下操作: public List<User> GetUsers() { return db.User.where(/* some query here */).ToList(); } 现在,我想知道是否应该使用IQueryable。我不确定在列表中使用它的好处。

3
如何禁用EF代码优先的链接表的级联删除?
我想使用实体框架代码优先的链接表禁用级联删除。例如,如果许多用户具有许多角色,而我尝试删除一个角色,则除非当前没有与该角色相关联的用户,否则我希望该删除被阻止。我已经删除了我的级联删除约定OnModelCreating: protected override void OnModelCreating(DbModelBuilder modelBuilder) { ... modelBuilder.Conventions.Remove<OneToManyCascadeDeleteConvention>(); 然后,我设置了用户角色链接表: modelBuilder.Entity<User>() .HasMany(usr => usr.Roles) .WithMany(role => role.Users) .Map(m => { m.ToTable("UsersRoles"); m.MapLeftKey("UserId"); m.MapRightKey("RoleId"); }); 但是,当EF创建数据库时,它会为外键关系创建一个删除级联,例如。 ALTER TABLE [dbo].[UsersRoles] WITH CHECK ADD CONSTRAINT [FK_dbo.UsersRoles_dbo.User_UserId] FOREIGN KEY([UserId]) REFERENCES [dbo].[User] ([UserId]) ON DELETE CASCADE GO ALTER TABLE [dbo].[UsersRoles] WITH CHECK ADD CONSTRAINT [FK_dbo.UsersRoles_dbo.Role_RoleId] …

6
C#类名称中允许使用哪些字符?
C#类名称中允许哪些字符,哪些不允许?能否请你帮忙? 编辑:指定。允许使用哪些特殊字符?请具体说明,因为以高科技语言链接到50页规范并不能为我带来很大帮助。 说明:我试图完成的工作是将类名划分为不同的部分,例如: 类Person @ WorkOffice @ Helper @ Class { } 而且,我考虑了一种使用某种字符或其他方式从该类名中获取Person,WorkOffice,Helper和Class的方法。 是的,我知道这很疯狂,但是我需要那样。我知道我可以使用属性和反射将这些数据存储在类meta中,但是事实并非如此,因此请不要建议这种解决方案。

9
通用枚举到int的C#非装箱转换?
给定通用参数TEnum始终为枚举类型,是否有任何方法可以将TEnum强制转换为int而无需装箱/拆箱? 请参阅此示例代码。这将不必要地装箱/拆箱该值。 private int Foo<TEnum>(TEnum value) where TEnum : struct // C# does not allow enum constraint { return (int) (ValueType) value; } 上面的C#是发布模式编译为以下IL(注意装箱和拆箱操作码): .method public hidebysig instance int32 Foo<valuetype .ctor ([mscorlib]System.ValueType) TEnum>(!!TEnum 'value') cil managed { .maxstack 8 IL_0000: ldarg.1 IL_0001: box !!TEnum IL_0006: unbox.any [mscorlib]System.Int32 IL_000b: ret } …
68 c#  .net  enums  boxing 

5
如何在C#(.NET)中将文件上传到SFTP服务器?[关闭]
从目前的情况来看,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 是否存在免费的.NET库,我可以使用该库将文件上载到SFTP(SSH FTP)服务器,该服务器在上载问题时引发异常并可以监视其进度?
68 c#  .net  sftp 

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.