草庐IT

asp.net-core

全部标签

c# - 如何防止 .NET 库在关闭时发送 RST 数据包

我正在做一些测试,试图隔离库(.NET)中的一些奇怪行为。当我通过C++使用WinsockAPI并简单地调用closesocket()时,我看到Windows端发送FIN/ACK数据包,而远程端发回ACK数据包。这就是我所说的优雅结束。但是,在使用C#进行编程时,我没有看到所谓的优雅关闭。在C#中,我打开我的套接字,然后在关闭它时,我看到Windows在第一次调用Socket.Shutdown()时仅发送一个FIN数据包。但是,无论如何,当我在C#中调用Socket.Close()时,都会发送一个RST数据包并且连接会立即断开。这让我感到困惑,因为根据我在网上阅读的内容,TCP关闭过程

c# - .NET AddDays 问题

接下来的两行将相同的金额添加到相同的日期,结果日期部分相同,但不知何故时间部分有所不同!(newDateTime(2000,1,3,18,0,0)).AddDays(4535);(newDateTime(2000,1,3,18,0,0)).AddMonths(149);你会得到15秒的差异,并且两者至少可以舍入到几天,我不知道为什么会发生这种情况,但它只发生在AddDays上,而不是AddMonths(即使添加了数千个月)编辑1所以我尝试制作一个示例项目,但没有成功。如果我运行我的主项目,并将示例线放入watch,那么我会得到2个独立的值,如果我重新开始,问题就不存在了。该项目是3.5

c# - "Unable to cast object of type ' System.Net.Http.Formatting.JsonContractResolver ' to type ' Newtonsoft.Json.Serialization.DefaultContractResolver '."

我们有一个最近被转移到新服务器的WEBAPI项目。在对项目的有效负载进行一些添加后,我正在运行我的项目,但它突然抛出以下错误:Unabletocastobjectoftype'System.Net.Http.Formatting.JsonContractResolver'totype'Newtonsoft.Json.Serialization.DefaultContractResolver'.有问题的代码行在global.asax中:protectedvoidApplication_Start(){GlobalConfiguration.Configure(WebApiConfig.R

c# - .NET Framework 4.x 中的插件系统安全性(无 CAS)

我想实现的是一个具有以下功能的插件系统:从我(开发人员)可能不信任但安装插件的最终用户信任的来源加载外部插件在特定范围内授予每个插件权限;例如一个插件可能有权从特定位置读取文件,而其他插件可能被允许连接到特定网站位置每个插件权限的特例:与另一个对象交互,很可能作为接口(interface)实例提供,而不访问其任何非公共(public)成员(甚至不使用偷偷摸摸的反射技术)在插件代码造成任何危害之前阻止最终用户不同意的操作,例如访问非公共(public)成员或在文件系统上操作在我的搜索过程中,我发现大多数涉及代码访问安全的SO解决方案,据我所知,这些解决方案在.NET4.x中已经过时。我还

c# - .NET Entity Framework 项目布局(架构)

我正在尝试确定如何最好地构建.NETEntityFramework项目以实现良好的分层方法。到目前为止,我已经在玩家拥有和经营行星的基于浏览的游戏中进行了尝试。这是我得到它的方法:网站这包含了所有的前端。C#项目-MLS.Game.Data这包含带有我所有数据映射的EDMX文件。这里没有其他内容。C#项目-MLS.Game.Business这包含各种我称为“管理器”的类,例如PlanetManager.cs。星球管理器有各种用于与星球交互的静态方法,例如getPlanet(intplanetID),它将返回从MLS.Game.Data生成的代码对象。在网站上,我会做这样的事情:varp

c# - Facebook Connect 与使用 ASP.NET Membership Provider 的站点集成

是否有任何最佳实践或示例说明如何使用成员资格提供程序(或类似的东西)将Facebook连接与现有ASP.NET应用程序最佳集成。我确信我可以做一些事情,但是,如果有一些关于此的信息和最佳实践来减轻任何安全问题,那就太好了。目前我可以让用户“连接”并获取他们的信息,但是,我希望尽可能安全地处理它们,并尽可能与现有用户类似。特别是,我希望他们在“用户”表中有一个条目。对于与ASP.NETMVC相关的任何信息,这将非常有用。我迄今为止发现的一些有用的链接:http://facebooktoolkit.codeplex.com/Thread/View.aspx?ThreadId=45825Fa

c# - System.Net.WebClient 异常失败

我正在尝试从我们的TFS服务器上的报告服务实例下载一些数据。鉴于代码应该在未加入域的计算机上运行,​​我想我会自己设置凭据。不走运,返回HTTP401Unauthorized。好的,所以我连接了Fiddler以查看发生了什么。但那是我得到Heisenberged的时候-通话现在顺利进行。因此,身份验证在连接Fiddler的情况下通过,但在没有它的情况下失败。是网络客户端坏了还是我在这里遗漏了什么深刻的东西?privatevoidThisWorksWhenDomainJoined(){WebClientwc=newWebClient();wc.Credentials=Credential

c# - .NET 事件特殊方法(添加/删除/提升/其他)

我想知道EventInfo.GetRaiseMethod和EventInfo.GetOtherMethods方法。显然,CLR支持4种与事件关联的方法:add、remove、raise和“others”。但是在C#中创建的事件只有add和remove...我假设raise在VB中使用,因为你必须指定一个RaiseEvent方法,但显然不是这样:GetRaiseMethod总是返回null。那么,有没有人知道:如果一个事件从未被使用过,那么将一个raise方法与该事件相关联有什么意义呢?是否有使用此方法引发事件的特定MSIL指令?(我在操作码中找不到类似的东西)GetOtherMetho

c# - .NET 中的 LINQ to JSON

有没有JSON这样的东西文件?即*.json?JSON是否可以在没有任何JavaScript内容的情况下用于C#代码,作为XML的替代品?有没有官方LINQ到C#的JSON东西?我确实为我的最后一个问题找到了一个网站,但它把我带到了一个下载JSON.NET的页面,而那个页面似乎没有提到任何关于LINQ的内容。 最佳答案 是的,有*.json文件这样的东西。MIME类型是application/json(source)。尽管JSON是一种基于文本的格式,因此您可以假设将JSON格式的数据存储在一个文本文件中,您可以选择任何扩展名。JS

c# - .NET System.Diagnostics.Stopwatch 问题(返回值太低)

在我的电脑上,秒表返回的值太低了。例如,当我指定Thread.Sleep(1000)时为200毫秒。该程序应该等待1秒。我还使用ManualResetEvent.WaitOne(1000)进行了测试,得到了相同的结果。框架2.0和3.0都给出了这种奇怪的行为。我正在运行带有.NETFramework3.5SP1的WindowsXPSP3。这是我的测试结果(下面的代码):1000msforDateTime.Now.Ticks0201msforStopwatch.ElapsedTicks0142msforStopwatch.ElapsedMilliseconds0139msforStopw