Tag: asp.net

如何将凭据传递给httpwebrequest以访问SharePoint库

我正在尝试使用HttpWebRequest从SharePoint文档库中读取文件。 为了做到这一点,我必须传递一些凭据。 我正在使用以下请求: HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.Method = “GET”; request.ContentType = “application/msexcel”; request.UserAgent = “Mozilla/4.0+(compatible;+MSIE+5.01;+Windows+NT+5.0”; request.Credentials = new NetworkCredential(UserName, PassWord); 这是传递凭据的正确方法吗?

在某些情况下,OptimisticConcurrencyException在entity framework中不起作用

更新(2010-12-21):根据我一直在做的测试完全重写了这个问题。 此外,这曾经是一个POCO特定的问题,但事实certificate我的问题不一定是POCO特定的。 我正在使用entity framework,我的数据库表中有一个时间戳列,应该用于跟踪乐观并发的更改。 我已将实体设计器中此属性的并发模式设置为“已修复”,并且我得到的结果不一致。 以下是一些简化的场景,它们演示了并发检查在一个场景中工作但在另一个场景中不起作用。 成功抛出OptimisticConcurrencyException: 如果我附加一个断开连接的实体,那么如果存在时间戳冲突,SaveChanges将抛出一个OptimisticConcurrencyException: [HttpPost] public ActionResult Index(Person person) { _context.People.Attach(person); var state = _context.ObjectStateManager.GetObjectStateEntry(person); state.ChangeState(System.Data.EntityState.Modified); _context.SaveChanges(); return RedirectToAction(“Index”); } 不抛出OptimisticConcurrencyException: 另一方面,如果我从数据库中检索我的实体的新副本,并对某些字段进行部分更新,然后调用SaveChanges(),那么即使存在时间戳冲突,我也不会得到OptimisticConcurrencyException : [HttpPost] public ActionResult Index(Person person) { var currentPerson = _context.People.Where(x => x.Id == person.Id).First(); currentPerson.Name = person.Name; // currentPerson.VerColm == [0,0,0,0,0,0,15,167] // person.VerColm == [0,0,0,0,0,0,15,166] currentPerson.VerColm = person.VerColm; […]

MVC4捆绑缓存头

我想更改从捆绑请求发送的缓存标头。 目前它是由User-Agent改变但我不希望它,有没有办法更改捆绑请求发送的标头? 在快速查看System.Web.Optimization程序集后,我可以看到标题在Bundle.SetHeaders中设置,这是一个私有静态函数,所以我不认为它可能,尽管我希望被certificate是错误的。

我应该为ASP .NET MVC应用程序使用内置成员资格提供程序吗?

到目前为止,我一直在使用自定义成员资格提供程序进行身份validation。 我即将开始使用MVC开发我的第一个网站。 我想知道我是否应该使用ASP .NET MVC附带的内置成员资格提供程序,或者我是否应该创建自己的。 我的网站需要与openid,facebook,google等集成进行身份validation和api访问的openauth。 我想知道根据我的需要使用内置的那么容易。

我为什么要进行unit testing和Web测试(而不仅仅是网络测试)?

我目前的立场是:如果我使用Web测试(在我的情况下通过VS.NET’08测试工具和WatiN,可能)使用代码覆盖率和广泛的数据彻底测试我的ASP.NET应用程序,我应该没有需要编写单独的unit testing,因为我的代码将通过所有层与UI一起进行测试。 代码覆盖将确保我能够访问每个function代码(或显示未使用的代码),并且我可以提供涵盖所有合理预期条件的数据。 但是,如果您有不同的意见,我想知道: unit testing给出的额外好处是certificate将其包含在项目中的努力是合理的(请记住,我正在进行Web测试,因此在许多情况下,unit testing将涵盖Web测试已经涵盖的代码)。 你能用详细的例子详细解释你的理由吗? 我经常看到诸如“这不是它的意义”或“它促进更高质量”的回应 – 这实际上并没有解决我必须面对的实际问题,也就是说,我怎么能certificate – 有实际结果 – 支出更多时间测试?

mvc 3相当于function?

我在Asp.Net有一个网站,我试图移植到MVC 3,我之前只使用过MVC 2。 我偶然发现了以下的asp函数 close 看起来这可能与for循环类似,但我不太肯定如何将其转换为MVC 3架构。

动态扩展应用程序的function?

我最近遇到了一种在使用ASP.NET MVC3 / 4时开发可插拔应用程序模块的方法,我喜欢这种方法的简单性。 目前,我的应用程序结构如下: 因此,任何想要为我的应用程序开发扩展的人都遵循上述教程中的方法,并创建一个保留在Areas文件夹中的扩展。 我想,当添加新Areas (创建为新项目)时,会创建.pdb文件并将其放在bin目录中。 我的问题是: 如何将Areas分配为可插拔模块? 如何更改以下代码,以便当有人将新Area放入bin文件夹时,应用程序会自动选择它并创建链接? 插件作者应该怎么做才能启用它? 在我的_Layout.cshtml (全局共享布局)中,我执行以下操作来构建链接: @Html.ActionLink(“Area1”, “Index”, “Area1”, new { Area = “Area1” }, null) @Html.ActionLink(“Area2”, “Index”, “Area2”, new { Area = “Area2” }, null) @Html.ActionLink(“Area3”, “Index”, “Area3”, new { Area = “Area3” }, null) 为简单起见,假设区域名称是唯一的。 有关如何做到这一点的任何建议?

.net 4.5中的异步和同步之间的区别

在我阅读.Net 4.5 async异步编程和await关键字时,我在这里阅读以下段落 处理异步请求 在启动时看到大量并发请求或具有突发性负载(并发性突然增加)的Web应用程序中,使这些Web服务调用异步将提高应用程序的响应能力。 异步请求与同步请求相同的处理时间。 例如,如果请求进行需要两秒钟完成的Web服务调用,则无论是同步执行还是异步执行,请求都需要两秒钟 。 但是,在异步调用期间,在等待第一个请求完成时,不阻止线程响应其他请求。 因此,当有许多并发请求调用长时间运行的操作时,异步请求会阻止请求排队和线程池增长。 对于粗体字,我无法理解它们异步请求如何处理同步请求需要相同的时间? 例如: public async Task MyMethod() { Task longRunningTask = LongRunningOperation(); //indeed you can do independent to the int result work here //and now we call await on the task int result = await longRunningTask; //use the result Console.WriteLine(result); } public async Task LongRunningOperation() // […]

如何在重定向页面之前获取警报消息

我正在使用vs 2010.我需要向用户显示消息并重定向页面。 我使用下面的行。 ScriptManager.RegisterStartupScript(this, this.GetType(), “alert”, ” alert(‘User details saved sucessfully’);window.open(‘frmDisplayUsers.aspx’);”, true); 但我没有得到警报消息,页面被直接重定向。 如何获得提醒信息?

ASP.NET中的会话超时警告

我有一个asp.net站点,当会话达到超时时我需要弹出/层/警报(比方说10分钟)。 弹出窗口将显示您的帐户会话将由于不活动而显示,并且具有用于继续会话的按钮或用于注销的按钮。 我在网上看到了不同的方法,但处理这个问题的最佳/正确方法是什么? 如果弹出窗口打开时间过长,是否需要额外超时?