Tag: asp.net mvc

在ASP.NET MVC和IIS7中logging原始HTTP请求/响应

我正在编写一个Web服务(使用ASP.NET MVC),为了支持的目的,我们希望能够尽可能接近地logging请求和响应到原始的在线格式(即包括HTTP方法,path,所有标题和正文)到数据库中。 我不确定的是如何以最less的“错位”方式来获得这些数据。 我可以通过检查HttpRequest对象的所有属性并从它们构build一个string(以及类似的响应)来重新构成我认为请求看起来像的内容,但是我真的想要得到实际的请求/响应数据这是在电线上发送的。 我很高兴使用任何拦截机制,如filter,模块等,解决scheme可以特定于IIS7。 但是,我宁愿只保留在托pipe代码中。 任何build议? 编辑:我注意到, HttpRequest有一个SaveAs方法,可以将请求保存到磁盘,但这使用内部帮助器方法的负载重build内部状态的请求,不能公开访问(为什么这不允许保存到用户提供的stream我不知道)。 所以它开始看起来像我将尽我所能重build从对象的请求/响应文本…呻吟。 编辑2:请注意,我说的整个请求,包括方法,path,标题等。目前的反应只看在身体stream不包括这个信息。 编辑3:没有人在这里读问题吗? 目前为止有五个答案,但还没有人提供一个获得整个原始的在线请求的方法。 是的,我知道我可以从请求对象中捕获输出stream,头文件和URL以及所有这些东西。 我已经说过,在这个问题上,请看: 我可以通过检查HttpRequest对象的所有属性并从它们构build一个string(以及类似的响应)来重新构成我认为请求看起来像的内容,但是我真的想要得到实际的请求/响应数据这是在电线上发送的。 如果您知道完整的原始数据(包括标题,url,http方法等),则无法检索,那么知道这些数据就很有用。 同样的,如果你知道如何以原始格式(是的,我还是指包括头文件,url,http方法等等)来完成这个工作,而不需要重新构build它,那么这就是非常有用的。 但是告诉我,我可以从HttpRequest / HttpResponse对象重build它是没有用的。 我知道。 我已经说过了。 请注意:在任何人开始说这是一个坏主意之前,或者会限制可伸缩性等,我们也将在分布式环境中实现节stream,顺序传输和反重放机制,因此无论如何都需要数据库日志logging。 我不想讨论这是否是一个好主意,我正在寻找如何做到这一点。

ASP.NET MVC下的SSL页面

我如何去使用HTTPS在我的ASP.NET MVC的网站的一些页面? 史蒂夫桑德森有一个很好的教程,如何在干预的方式做预览4在: http://blog.codeville.net/2008/08/05/adding-httpsssl-support-to-aspnet-mvc-routing/ 预览版5有更好的/更新的方法吗?

我如何在ASP.NET MVC中使用小写路由?

如何在ASP.NET MVC中使用小写字母和下划线(如果可能的话)? 所以,我会有/dinners/details/2 DinnersController.Details(2) /dinners/details/2调用DinnersController.Details(2) ,如果可能的话, /dinners/more_details/2调用DinnersController.MoreDetails(2) ? 所有这些同时仍然使用{controller}/{action}/{id} 。

如何解决:处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误的模块“ManagedPipelineHandler”

我正在configuration一个MVC 3项目来处理IIS的本地安装,并遇到以下500错误: 处理程序“PageHandlerFactory-Integrated”在模块列表中有一个错误的模块“ManagedPipelineHandler”。 事实certificate,这是因为即使我在“添加function”对话框中选中该框,ASP.Net并未完全与IIS一起安装。 要解决这个问题,我只需在命令提示符下运行以下命令 %windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i 如果我使用的是32位系统,那么看起来应该是这样的: %windir%\Microsoft.NET\Framework\v4.0.21006\aspnet_regiis.exe -i 我的问题是,是否有一种方法来安装IIS的Windows 7中使用.NET 4.0(MVC 3)没有采取这一额外的步骤?

出生datevalidation不断显示

我正在input一个DOB – 22/12/1986到我的文本框中,validation不断发射。 它说: The field DOB must be a date. 我的模特 : [System.ComponentModel.DisplayName("DOB")] [DisplayFormat(DataFormatString = "@{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)] [Required(ErrorMessage = "Date Of Birth is required")] [RegularExpression(@"{0:dd/MM/yyyy}", ErrorMessage = "Invalid Date")] // below is a link public DateTime DOB { get; set; } 我的观点 : <div class="form-group"> @Html.LabelFor(model => model.DOB, htmlAttributes: new { @class […]

将ASP.NET MVC Razor @helper函数转换为辅助类的方法

考虑下面的ASP.NET MVC剃刀视图片断,它定义了一个帮手 @helper FieldFor<TModel>(Expression<Func<TModel, string>> expression) { <div class="form-group"> @Html.LabelFor(expression, htmlAttributes: new {@class = "control-label col-md-2"}) <div class="col-md-10"> @Html.EditorFor(expression, new { htmlAttributes = new {@class = "form-control"} }) @Html.ValidationMessageFor(expression, "", new {@class = "text-danger"}) </div> </div> } 什么样的模式将其转换为类似于类的方法: public static MvcHtmlString FieldFor(this HtmlHelper helper, FieldFor<TModel>(Expression<Func<TModel, string>> expression)) { /* Method */ } 我发现所有的例子都集中在生成不依赖其他HTML帮助器的标记上。

ASP.NET MVC实现自定义validation器使用IClientValidatable

我在这里问类似的问题,但在这个问题我使用另一种实现,正是这样下面的代码显示我的实现: 模型: public class Department { public long Id { get; set; } [IsDateAfter("Date2", true, ErrorMessage = "O My")] public DateTime Date1 { get; set; } public DateTime Date2 { get; set; } public string Name1 { get; set; } public string Name2 { get; set; } } 自定义validation器: public sealed class IsDateAfter : ValidationAttribute, […]

将Jsonstring转换为C#对象列表

我想将jsonstring转换为Object列表。 请帮帮我。 如果由NewtonJson完成,将会更有帮助。 我试过了,但是不行。 我不想要那个JSON的所有值。 只是在MatrixModel中提到的那些 这是一个对象 public class MatrixModel { public string S1 { get; set; } public string S2 { get; set; } public string S3 { get; set; } public string S4 { get; set; } public string S5 { get; set; } public string S6 { get; set; } public string […]

如何使用C#在数据库中保存图像

我想将用户图像保存到C#中的数据库中。 我怎么做?

有没有解决ASP.NET MVC的ContactsManager教程中的dependency injection循环问题的好方法?

如果你不知道我在说什么,或者阅读本教程并尝试自己添加dependency injection,或者试着用我的解释来解决问题。 注意:此问题不在ASP.NET原始教程的范围内。 本教程只提示使用的模式是dependency injection友好的。 问题基本上是Controller,ModelStateWrapper和ContactManagerService之间存在依赖关系。 ContactController构造函数接受一个I​​ContactManagerService。 ContactManagerService构造函数接受一个I​​ContactManagerRepository (不重要)和一个IValidationDictionary (ModelStateWrapper实现) 。 ModelStateWrapper构造函数接受一个ModelStateDictionary (在控制器上是一个名为“ModelState”的属性) 。 因此,依赖循环如下所示:Controller> Service> ModelStateWrapper> Controller 如果您尝试向此添加dependency injection,它将失败。 所以我的问题是, 我该怎么办呢? 其他人已经发布了这个问题,但答案很less,不同,都似乎有点“黑客”。 我目前的解决scheme是从IService的构造函数中删除IModelStateWrapper,并像这样添加一个Initialize方法: public class ContactController : Controller { private readonly IContactService _contactService; public ContactController(IContactService contactService) { _contactService = contactService; contactService.Initialize(new ModelStateWrapper(ModelState)); } //Class implementation… } public class ContactService : IContactService { private IValidationDictionary […]