Tag: asp.net

json.net; 序列化entity framework对象(循环引用错误)

我有一个entity framework实体,我想序列化为一个json对象。 我环顾四周,发现json.net(http://james.newtonking.com/projects/json-net.aspx)应该能够使用“开箱即用”的循环引用来序列化对象。 所以我尝试使用 string json = JsonConvert.SerializeObject(/* my ef entity */); 但我仍然得到同样的错误。 问题可能是我需要使用ReferenceLoopHandling.Ignore和ContractResolver ,但我不知道如何使用它们。 任何帮助深表感谢! 谢谢

通过viber或whatsapp以编程方式发送消息

我有一个有一些成员的系统。 我的会员每天应该收到一条消息。 我想通过Viber或whatsapp发送此消息(或者如果有其他应用程序喜欢它们)。 但我不想一个接一个地发送消息。 我想通过asp.net c#代码发送。 是否有任何文件或API用于此目的?

使用WebAPI流式传输大型文件(超过IIS 2GB)

我正在尝试将非常大的文件(> 2GB)上传到我的WebAPI应用程序(在.NET 4.5.2上运行,Windows 2012R2)。 设置httpRuntime maxRequestLength属性是没有用的,因为它只能处理小于2GB的文件。 我目前正在使用自定义的MultipartFormDataStreamProvider来读取服务器上的整个流,并且我已经使用自定义WebHostBufferPolicySelector关闭了缓冲。 我发现ASP.NET(或WebAPI)使用Hood下的HttpBufferlessInputStream,它有一个名为_disableMaxRequestLength的字段。 如果我将此值设置为true(通过reflection),我可以流式传输任何大小的文件。 然而,摆弄这些内部的这些显然不是一个好方法。 用于请求的HttpRequest类有一个名为GetBufferlessInputStream的方法,该方法具有允许禁用maxRequestLength的重载。 我的问题是:如何让WebAPI使用此重载而不是标准的重载? 有没有办法替换Default HttpRequest或HttpContext类? 或者我真的需要使用reflection来完成整个过程吗? 这是我目前用来禁用maxRequestLength的代码: private void DisableRequestLengthOnStream(HttpContent parent) { var streamContentProperty = parent.GetType().GetProperty(“StreamContent”, BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public); if (streamContentProperty == null) return; var streamContent = streamContentProperty.GetValue(parent, null); if (streamContent == null) return; var contentProperty = typeof(StreamContent).GetField(“content”, BindingFlags.Instance | BindingFlags.NonPublic); if (contentProperty == […]

.Net Code Contracts – 在哪里可以了解更多信息?

我最近在办公室里听到过关于.Net“合同”的一些讨论,然而,当我问我的一些同事时,他们不是很容易向我解释他们的用途,甚至是什么。 有没有人有任何资源,解释,也许还有他们使用的教程? 谢谢, 保罗

使用LINQ to SQL进行更新的最有效方法

我可以更新下面函数中给出的员工记录,还是首先要查询员工集合,然后更新数据? public int updateEmployee(App3_EMPLOYEE employee) { DBContextDataContext db = new DBContextDataContext(); db.App3_EMPLOYEEs.Attach(employee); db.SubmitChanges(); return employee.PKEY; } 或者我必须做以下事情? public int updateEmployee(App3_EMPLOYEE employee) { DBContextDataContext db = new DBContextDataContext(); App3_EMPLOYEE emp = db.App3_EMPLOYEEs.Single(e => e.PKEY == employee.PKEY); db.App3_EMPLOYEEs.Attach(employee,emp); db.SubmitChanges(); return employee.PKEY; } 但我不想使用第二种选择。 有没有有效的方法来更新数据? 我通过两种方式得到此错误: 已尝试附加或添加非新的实体,可能已从另一个DataContext加载。 这不受支持。

使用Web窗体进行ASP.NET路由

我读过ASP.NET Routing … Goodbye URL重写? 和使用路由使用WebForms是很棒的文章,但仅限于简单的,说明性的,“hello world” – 复杂的例子。 是否有人以非平凡的方式使用ASP.NET路由与Web表单? 有什么需要注意的吗? 性能问题? 进一步推荐阅读我应该先看看我自己的实现? 编辑找到这些额外有用的URL: 如何:使用Web窗体路由(MSDN) ASP.NET路由(MSDN) 如何:从路由构建URL(MSDN)

C#:调用按钮事件处理程序方法而不实际单击按钮

我的aspx文件中有一个名为btnTest的按钮。 .cs文件有一个函数,单击该按钮时会调用该函数。 btnTest_Click(object sender, EventArgs e) 如何从我的代码中调用此函数(即没有实际单击按钮)?

在MVC3中使用Server.MapPath

我有代码 string xsltPath = System.Web.HttpContext.Current.Server.MapPath(@”App_Data”) + “\\” + TransformFileName 它回来了 C:\inetpub\wwwroot\websiteName\SERVICENAME\App_Data\FileName.xsl 为什么我要获取ServiceController, SERVICENAME的路径? 我想要的App_Data路径 C:\inetpub\wwwroot\websiteName\App_Data\FileName.xsl

为什么使用System.Runtime.Caching或System.Web.Caching Vs静态变量?

长时间听众 – 第一次来电。 我希望得到一些建议。 我一直在阅读.net中的缓存 – 包括System.Web.Caching和System.Runtime.Caching。 我想知道我可以获得什么额外的好处与简单地创建一个带锁定的静态变量。 我目前的(简单的)缓存方法是这样的: public class Cache { private static List _allCategories; private static readonly object _lockObject = new object(); public static List AllCategories { get { lock (_lockObject) { if (_allCategories == null) { _allCategories = //DB CALL TO POPULATE } } return _allCategories; } } } 除了到期(我不希望它到期)我不知道使用内置缓存的好处是什么。 也许对于不适用于我的更复杂的缓存方案有好处 […]

关于ASP.NET表单身份validation和会话的滑动到期

我们有一个使用本机表单身份validation和会话function的ASP.NET 4.5 WebForms应用程序。 滑动到期时两者都超时20分钟。 想象一下以下场景。 用户已经在我们的应用程序中工作了一段时间,然后继续做其他事情,让我们的应用程序闲置20分钟。 然后,用户返回我们的应用程序以编写报告。 但是,当用户尝试保存时,他/她将使用登录屏幕进行处理,并且报告将丢失。 显然,这是不需要的。 我们希望在身份validation或会话过期时将浏览器重定向到登录页面,而不是这种情况。 为了实现这一点,我们构建了一个Web Api服务,可以调用它来检查是否是这种情况。 public class SessionIsActiveController : ApiController { /// /// Gets a value defining whether the session that belongs with the current HTTP request is still active or not. /// /// True if the session, that belongs with the current HTTP request, is still active; […]