Tag: asp.net

正确的JSON序列化在MVC 4

我想有正确的JSON序列化(camelCase),并能够在必要时更改date格式。 对于Web API来说,这非常简单 – 在Global.asax中我执行下面的代码 var json = GlobalConfiguration.Configuration.Formatters.JsonFormatter; json.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); 这个代码,在pipe道级别,按我喜欢的方式处理序列化。 我想在MVC 4中完成同样的事情 – 从控制器操作方法返回的任何JSON被正确序列化。 有一点search,我发现下面的代码抛出Global.asax应用程序启动: HttpConfiguration config = GlobalConfiguration.Configuration; Int32 index = config.Formatters.IndexOf(config.Formatters.JsonFormatter); config.Formatters[index] = new JsonMediaTypeFormatter { SerializerSettings = new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() } }; 它似乎执行得很好,但是当我从控制器返回JSON时,它全部是PascalCased。 我的行动方法的一个简单的例子: private JsonResult GetJsonTest() { var returnData = dataLayer.GetSomeObject(); return Json(returnData, […]

如何在ASP.NET Web窗体中使用dependency injection

我正在试图找出一种方法来使用ASP.NET Web窗体控件的dependency injection。 我有很多直接创build存储库的控件,并使用它们来访问和绑定数据等。 我正在寻找一种模式,我可以将库传递给控件(IoC),所以我的控件仍然不知道库的构build方式以及它们来自哪里等等。 我不希望从我的控件有一个依赖的IoC容器,因此我只是想能够构造具有构造函数或属性注入的控件。 (只是为了使事情复杂化,这些控件正在构build,并在运行时由CMS放置在页面上!) 有什么想法吗?

“HttpContext.Current”属性和相关事物的交叉线程使用

我从<使用C#中的示例的基本ASP.NET>读取以下语句: 另一个有用的属性是HttpContext类的静态Current属性。 此属性始终指向正在服务的请求的HttpContext类的当前实例。 如果您正在编写将从页面或其他pipe道类使用的辅助类,并且可能因任何原因需要访问上下文,这可能会很方便。 通过使用静态Current属性来检索上下文,可以避免将引用传递给helper类。 例如,清单4-1中所示的类使用上下文的Current属性来访问QueryString并将某些内容打印到当前的响应缓冲区中。 请注意,为了正确初始化此静态属性,调用者必须在原始请求线程上执行,因此如果您在请求期间生成了其他线程以执行工作,则必须注意自己提供对上下文类的访问权限。 我想知道大胆的部分的根源,有一件事导致另一件事,这是我的想法: 我们知道一个进程可以有多个线程。 每个线程都有自己的堆栈。 这些线程也可以访问共享内存区域,即堆。 据我所知,堆栈就是存储该线程所有上下文的地方。 对于一个线程来访问堆中的东西,它必须使用一个指针,并将指针存储在堆栈中。 所以当我们进行一些跨线程调用时,我们必须确保所有必要的上下文信息都从调用者线程的堆栈传递到被调用者线程的堆栈。 但是我不太清楚,如果我犯了什么错误。 任何意见将深表赞赏。 谢谢。 加 这里的堆栈被限制在用户堆栈中 。

ASP.NET页面生命周期的解释

我被要求在一段时间的采访中解释ASP.NET页面的生命周期。 我曾向他解释过,但他对我的回答并不满意。 有人可以向我解释生命周期吗?

如何在ASP.NET中全局设置date格式?

如何在ASP.NET中全局设置date格式? 我的本地机器和服务器的“区域设置”设置为“英语(新西兰)”。 当我用dd/MM/yyyy格式化一个date时,例如我希望今天看到19/11/2008 。 直到最近,这是我从本地机器和服务器获得的。 就在最近,由于一些神秘的原因,我们的本地机器已经发生了轻微的变化。 尽pipe仍然设置为“英语(新西兰)”,date分隔已经从/到- ! 仍然显示“英语(新西兰)”和/date分隔的服务器上没有发生同样的变化。 所以现在我的本地机器,格式dd/MM/yyyy我得到19-11-2008而不是19/11/2008 。 这有点令人不安。 到目前为止,我所能看到的唯一方法就是跳过斜杠并将格式设置为dd\/MM\/yyyy 。 它似乎工作,但似乎并不是理想的解决scheme。 任何人都可以请帮忙? 注:这是一个内联网应用程序,我不关心真正的全球化。 我只是想修复date格式,并没有改变我。

embedded一​​个没有Iframe的外部页面?

有没有办法embedded外部网页,而不使用iframe? 我可以访问这两个网站,我只是希望embedded内容的页面根据embedded的内容(它会随着时间的推移而变化,并在多个网站上)resize。 谢谢! 编辑:我不认为任何一种AJAX将工作,因为它是跨站点,JavaScript不会让你加载离线内容(据我所知)。

如何解码viewstate

我需要看到一个asp.net页面的视图状态的内容。 我查找了一个视图状态解码器,发现Fridz Onion的ViewState解码器,但它要求页面的URL来获取其视图状态。 由于我的viewstate是在回发之后形成的,并且是在更新面板中的一个操作的结果,所以我无法提供一个url。 我需要复制并粘贴viewstatestring,看看里面有什么。 有没有工具或网站可以帮助查看viewstate的内容?

如何在ASP.NET表单上创buildcheckbox?

我在这方面做了一些研究,并且find了几个部分的答案,但是没有任何东西给我那种温暖的模糊的“这是做这件事的正确方法”。 为了回答这个问题最频繁的投诉:“checkbox可以有两个合法的状态 – 选中和未选中”,这是一个“我接受条款和条件…”checkbox,必须检查,以完成注册,因此从业务逻辑的angular度来看,需要检查该框。 请提供完整的剪切粘贴现成的代码片段与您的回应! 我知道有几件这 – CustomValidator(大概),代码隐藏,一些JavaScript和可能的IsValid检查,而令我沮丧的是我在每个例子中,我已经看到,其中一个关键件丢失了!

Web应用程序问题(web.config错误)使用IIS7.5和ASP.NET v2的HTTP 500.19

这是整个团队疯狂。 IIS或我们的Web服务器必须有一些简单的错误configuration部分,但每当我们尝试在IIS 7.5上运行ASP.NET Web应用程序时,我们都会得到以下错误… 这是完整的错误: HTTP Error 500.19 – Internal Server Error The requested page cannot be accessed because the related configuration data for the page is invalid. `Detailed Error Information` Module IIS Web Core Notification Unknown Handler Not yet determined Error Code 0x8007000d Config Error Config File \\?\E:\wwwroot\web.config Requested URL http://localhost:80/Default.aspx Physical Path Logon […]

非托pipeDLL无法加载到ASP.NET服务器上

这个问题涉及一个ASP.NET网站,最初是在VS 2005中开发的,现在在VS 2008中开发。 这个网站使用了两个非托pipe的外部DLL,它们不是.NET,我没有源代码来编译它们,并且必须按原样使用它们。 这个网站在Visual Studio中运行良好,正确定位和访问这些外部DLL。 但是,当网站发布到networking服务器(运行IIS6和ASP.NET 2.0)而不是开发PC时,它无法find并访问这些外部DLL,并且出现以下错误: Unable to load DLL 'XYZ.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E) 外部DLL位于网站的bin目录中,以及包含它们的托pipeDLL以及网站的所有其他DLL。 search这个问题揭示了许多其他人似乎有相同的问题从ASP.NET网站访问外部非.NET DLL,但我还没有find一个解决scheme。 我已经尝试了以下内容: 运行DEPENDS以检查依赖关系,以确定前三个位于path中的System32目录中,最后一个位于.NET 2框架中。 我把这两个DLL和它们的依赖关系放在System32中,并重新启动服务器,但是网站仍然无法加载这些外部DLL。 给ASPNET,IIS_WPG和IUSR(对于那个服务器)的完全的权利到网站的bin目录,并重新启动,但网站仍然无法加载这些外部的DLL。 将外部DLL作为现有项添加到项目中,并将其“复制到输出”属性设置为“始终复制”,而网站仍然无法find这些DLL。 还将其“Build Action”属性设置为“Embedded resource”,网站仍然无法findDLL。 任何援助这个问题将不胜感激!