随笔分类 - ASP.NET
摘要:客户在使用我们的某个应用遇到了性能瓶颈,于是决定增加多个节点减轻单节点的压力。部署方案: 1台Nginx服务器 2台应用服务器,每台两个站点(一个应用创建两个IIS站点、不同端口号) Nginx的配置如下: 很常见的Nginx配置,但问题发生了。由于我们有一个负责单点登录的网站,当用户首次访问我们的
阅读全文
摘要:在Windows 10 build 17133.73上部署一个较老版本的ASP.NET 2.0程序,访问时候出现: 事件查看器显示以下错误信息: 我的解决方案是先在控制面板卸载"IIS URL Rewrite Module 2",启动IIS运行Web Platform Installer并重新安装"
阅读全文
摘要:由于客户端调用Web API传递的数据属性命名一般偏向javascript规范,只是简单的大小写差异没有问题,但始终会有一些特殊情况。比如OAuth的请求: 在ASP.NET MVC开发时一般我们会开发一个ModelBinder,如果只是实现别名的绑定,继承DefaultModelBinder即可快
阅读全文
摘要:使用Visual Studio 2013打开没有问题,但Visual Studio 2015打开cshtml就会提示"Object reference not set to an instance of an object"错误。解决方案是删除 %LocalAppData%\Microsoft\Vi
阅读全文
摘要:公司的某个产品依赖一个Cookie的值,发现在某些情况下即使Request附带了该Cookie(通过Fiddler2监控),服务器端通过HttpContext的Request.Cookies访问该Cookies却返回了null。令人不解的是如果访问Request.Params["HTTP_COOKI
阅读全文
摘要:Fiddler默认会注册一个代理,有时会发现WebSite调用的WebService或者WCF服务无法被捕捉到。其实是由于运行的站点关联的应用程序池使用的账号和我们当前登陆操作系统的用户不同,自然它们加载的用户配置也不同。只需要将应用程序池使用的账号修改为当前用户,Fiddler即可捕捉到该应用程序...
阅读全文
摘要:当View上using一些从probing privatePath加载的程序集,运行时会提示无法找到对应程序集。 原因是由于DefaultControllerFactory内部使用BuildManager关系,除了以代码方式将probing privatePath下指定的程序集...
阅读全文
摘要:假设站点A加密使用.NET Framework 2.0,站点B解密使用.NET Framework 4.0,除了保持MachineKey相同外还需要进行如下设置:1、Web.config的配置节下添加:2、Web.confg的配置节下添加:3、Web.config的machineKey配置节添加co...
阅读全文
摘要:由于View(.cshtml)的运行时编译关系,在项目级别中定义的symbols是无法被直接使用的。需要在Web.config中添加compilerOptions(在View目录下的Web.config添加无效),该设置同样适用于ASP.NET其它技术。假如你需要一个TEST的定义,参考如下:Web...
阅读全文
摘要:去年我已写过一篇关于安装.NET Framework 4.5后特定场景Ajax POST的挂起问题 =>http://www.cnblogs.com/junchu25/archive/2012/10/28/2743205.html,今天补充一些非代码级别的解决方案。前几天用户反馈某个应用一定程度间隔点击无响应(在等待较长时间后恢复正常),页面较为简单Ext.NET的GridPanel + Store。分别在Windows 7 Ultimate、Windows Server 2008 R2 + IIS 7.5运行都存在该问题。首先在我们的Dev、Pub环境(Windows Server 2
阅读全文
摘要:ASP.NET的默认资源分为Global、Local(ASP.NET Folder的App_GlobalResources、APP_LocalResources)。App_GlobalResources为全局共享资源、App_LocalResources根据虚拟路径对应到页面。如何获取这两类资源需要...
阅读全文
摘要:开发人员反映同一个功能在开发服务器正常、测试服务器在满足一定操作条件后部分Action的model bind失败,之后无论如何操作直至应用程序池重启才恢复正常。查看异常日志如下:Exception information: Exception type: ArgumentException ...
阅读全文
摘要:开发人员反映原有一个功能在点击修改提交表单后,浏览器就无响应,除非关闭。之前开发、测试服务器所做的更新只有安装了.NET Framework 4.5,由于之前博客园的dudu也碰到过相同类似问题(http://www.cnblogs.com/dudu/archive/2012/09/14/ie_mv...
阅读全文
摘要:由于某种架构的需要,许多视图(.cshtml)被分布到不同的类库项目中,在项目编译时通过post-build复制到启动项的指定目录。部分开发人员在一些项目中修改视图时出现无法智能提示。Views文件夹下有Web.config,当打开某个.cshtml文件出现提示:“ASP.NET runtime e...
阅读全文
摘要:HttpResponse的Filter属性允许开发人员定义一个派生于Stream的类型,修改Http Entity Body。比如原来的Web应用程序并没有添加兼容性标记,许多页面也并没有使用Master,各处修改增加了许多工作量。编写一个HttpModule,在Init函数中订阅HttpApplication的ReleaseRequestState事件。1 // <summary>2 /// 初始化3 /// </summary>4 /// <param name=”context”>上下文</param>5 public void Init(
阅读全文
摘要:在System.Web.Compilation下默认提供了三个常用的ExpressionBuilder,比如在UI上快速访问AppSettings可以这么写:1 <%= ConfigurationManager.AppSettings["IsDebug"] %>2 <%$ appSettings:IsDebug %>%$ appSettings:IsDebug %>实际上调用了AppSettingsExpressionBuilder,这一层的转换到调用由ASP.NET页面的动态编译器负责(其实到真正动态执行某个页面时所加载的类型并不是我们编写代
阅读全文
摘要:部分生产环境下客户反映基于ASP.NET MVC 1.0开发的应用程序第一次访问需要10 - 16sec不等。起初怀疑是客户应用程序的问题,但对方使用一个新建的ASP.NET MVC应用程序仍然存在这个问题。于是建议对方升级到ASP.NET MVC 3.0,但问题依旧。于是用WinDbg跟踪,看到c...
阅读全文
摘要:假设有多个ASP.NET MVC 应用解决方案,基于Area部署同一个站点。多个站点需要以一致的方式进行布局切换,不同Area映射View的方式不同,它们都以{AreaName}\{Views}的格式存放。相比这种访问方式,将多个Area关联的View更新到一个固定目录更便于管理,比如:App_Th...
阅读全文