Tag: asp.net mvc

ASP.NET:在应用程序的预启动初始化阶段不能调用此方法

我正在尝试获取在IIS 6.0上运行的ASP.NET MVC 3网站。 目前,当我从服务器请求一个页面时,会出现以下错误: parsing器错误消息:在应用程序的预启动初始化阶段,无法调用此方法。 在这一行上: <add name="MyMembershipProvider" type="NS.MyMembershipProvider" connectionStringName="MyDatabase" applicationName="/MySite"/> 我完全被难住了,对ASP.NET应用程序生命周期没有太多线索,更不用说6.0和7.0之间的区别了。 通过阅读MSDN网页似乎没有太大的帮助。 有没有人有任何洞察力或任何良好的联系进行调查? 🙂

ASP.NET MVC中的error handling

我怎样才能正确处理从ASP.NET MVC中的控制器引发的exception? HandleError属性似乎只处理由MVC基础设施抛出的exception,而不是由我自己的代码引发的exception。 使用这个web.config <customErrors mode="On"> <error statusCode="401" redirect="/Errors/Http401" /> </customErrors> 用下面的代码 namespace MvcApplication1.Controllers { [HandleError] public class HomeController : Controller { public ActionResult Index() { // Force a 401 exception for testing throw new HttpException(401, "Unauthorized"); } } } 不会导致我所希望的。 相反,我得到了通用的ASP.NET错误页面,告诉我修改我的web.config来查看实际的错误信息。 但是,如果不是抛出一个exception,我返回一个无效的视图,我得到/Shared/Views/Error.aspx页面: return View("DoesNotExist"); 像上面所做的那样在控制器中抛出exception似乎绕过了HandleError所有function,那么创build错误页面的正确方法是什么,以及如何与MVC基础架构打好关系?

如何在ASP.NET MVC中获取客户端的IP地址?

我完全不熟悉ASP.NET MVC堆栈,我想知道简单的Page对象和Request ServerVariables对象发生了什么? 基本上,我想要拔出客户端PC的IP地址,但我不明白现在的MVC结构如何改变了这一切。 据我所知, 大部分variables对象已经被HttpRequest变体所取代 。 有人关心分享一些资源? ASP.NET MVC世界中真的有很多东西需要学习。 🙂 例如,我有这个当前函数的静态类。 如何使用ASP.NET MVC获得相同的结果? public static int getCountry(Page page) { return getCountryFromIP(getIPAddress(page)); } public static string getIPAddress(Page page) { string szRemoteAddr = page.Request.ServerVariables["REMOTE_ADDR"]; string szXForwardedFor = page.Request.ServerVariables["X_FORWARDED_FOR"]; string szIP = ""; if (szXForwardedFor == null) { szIP = szRemoteAddr; } else { szIP = szXForwardedFor; […]

Visual Studio 2015破碎的剃刀智能感知

安装后,然后修复我的VS2015实例,我仍然无法让我的MVC视图中工作的intellisense(服务器端)。 当我第一次在会话中打开一个.cshtml文件并发送到Activitylog文件时,我会收到提示信息。 在ActivityLog.xml中检索到错误消息(简短版本): System.ArgumentException:Item已被添加。 键入字典:“RazorSupportedRuntimeVersion” 这是完整版本: System.Reflection.TargetInvocationException:exception已被调用的目标引发。 —> System.ArgumentException:Item已被添加。 键入字典:在System.Collections.Hashtable.Add(Object key,Object value)System.Collections.Hashtable.Insert(Object key,Object nvalue,Boolean add)处添加'RazorSupportedRuntimeVersion'键:'RazorSupportedRuntimeVersion'。在Microsoft.VisualStudio.Utilities.PropertyCollection.AddProperty(Object key,Object属性)上Microsoft.VisualStudio.Html.Package.Razor.RazorVersionDetector.Microsoft.Html.Editor的Collections.Specialized.HybridDictionary.Add(Object key,Object value)。 ContainedLanguage.Razor.Def.IRazorVersionDetector.GetVersion(ITextBuffer textBuffer)在Microsoft.Html.Editor.ContainedLanguage.Razor.RazorErrorTagger..ctor(Microsoft.Html.Editor.ContainedLanguage.Razor.RazorUtility.TryGetRazorVersion(ITextBuffer textBuffer,Version&razorVersion) ITextBuffer textBuffer)—内部exception堆栈跟踪—在System.RuntimeMethodHandle.InvokeMethod(对象目标,对象[]参数,签名sig,布尔构造函数)在System.Reflection.RuntimeCo System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr,Binder binder,Object [] args,CultureInfo culture,Object [] activationAttributes,StackCrawlMark&stackMark)上的nstructorInfo.Invoke(BindingFlags invokeAttr,Binder binder,Object []参数,CultureInfo culture)在Microsoft.Html.Editor.ContainedLanguage上的System.Activator.CreateInstance(Type type,Object [] args)上的Activator.CreateInstance(Type type,BindingFlags bindingAttr,Binder binder,Object [] args,CultureInfo culture,Object [] activationAttributes) Common.ContainedCodeErrorTaggerProvider1.1.CreateTagger [T](ITextBuffer textBuffer)在Microsoft.VisualStudio.Text.Tagging.Implementation.TagAggregator'1.GatherTaggers(ITextBuffer textBuffer) 如果有任何帮助,我有一些字体颜色自定义,并安装了Web Essentials,Bundler&Minifier和Web编译器扩展。 更新 :无论是当我打开一个现有的Web应用程序,或从头开始创build一个全新的。 还有一个VS2013的实例安装在同一台机器上运行。 […]

如何由2个子实体进行分组,并获得这两个子实体的总和?

我想要得到我的Test Version 0即Test Id=100 总变种运行 这是我的表格和logging: testing: Id Version 100 0 变种: Id Name Type CategoryId 11 Variant1 Diff 2 12 Variant1 Add 2 13 Variant2 Add 3 14 Variant2 Diff 2 15 Variant3 Add 6 SubVariants : Id VariantId Name 66 11 Abc 67 11 PQR 68 11 Xyz 69 12 Abc 70 12 […]

报告处理期间发生错误。 ASP.NET MVC中的-RLDC报告

我有这个行动来生成报告: public ActionResult Report(string id) { LocalReport lr = new LocalReport(); string path = Path.Combine(Server.MapPath("~/Report"), "Person.rdlc"); if (System.IO.File.Exists(path)) { lr.ReportPath = path; } else { return View("Index"); } List<Person> cm = new List<Person>(); var viewModel = new PersonIndexData(); viewModel.People= db.Person .Include(k => k.Groups) .OrderBy(k => k.Name); cm = viewModel.People.ToList(); ReportDataSource rd = new ReportDataSource("PersonDataSet", cm); […]

全球ASAX – 获取服务器名称

任何人都可以告诉我是否有办法让我在Global.asax的Application_Start事件中获取我的站点的域名? 通常我只是从Context.Request.ServerVariables [“SERVER_NAME”]得到它,但是这是不可用的。 理想情况下,我也喜欢从启动应用程序的请求中获取URL。 嗯 – 从下面的答案,这似乎是IIS7在这里有所作为。 这是新的,现在有devise准则,试图阻止你这样做: IIS博客

DisplayNameFor()从模型中的List <Object>

我相信这是非常简单的,我似乎无法find正确的方式来显示我的模型内列表中的项目的显示名称。 我的简化模型: public class PersonViewModel { public long ID { get; set; } private List<PersonNameViewModel> names = new List<PersonNameViewModel>(); [Display(Name = "Names")] public List<PersonNameViewModel> Names { get { return names; } set { names = value; } } } 和名称: public class PersonNameViewModel { public long ID { get; set; } [Display(Name = "Set Primary")] […]

我如何实现自定义的RazorViewEngine在非标准位置查找视图?

我正在寻找实现一个自定义的RazorViewEngine 。 基本上我有两个有效的代码相同的网站。 不同的是,他们看起来不同。 我想重写标准的视图引擎,使MVC在两个不同的位置查看它的视图,布局等。对于公司A,对于公司B来说,公司A将包含主视图,公司B的视图将覆盖这些主视图。 所以我想让视图引擎在位置B查看视图,布局,主要或部分,如果它发现它,然后返回它,如果它找不到它我希望它默认为公司A的视图作为默认值。 公司A显然只会查看自己的文件夹。 好的问题症结所在:我find了这个网站: http : //www.aspnetwiki.com/mvc-3-razor :extending-the-view-engine 第一个问题,这是实现这个目标的最好方法吗? 其次,我是否需要重写CreatePartial , CreateView , FindPartial和FindView方法? 更新 好吧,我已经想出了第二个问题,我想要重写的方法是CreateView和CreatePartialView因为在这一点上它构build了视图string,我可以摆弄它。

在ASP.NET中实现文件下载时如何处理文件stream?

我有一个包装一个MemoryStream的类DocumentGenerator 。 所以我已经在类上实现了IDisposable 。 我看不出我可以怎样处置它。 这是我目前的代码,它在MVC中执行文件下载: using (DocumentGenerator dg = DocumentGenerator.OpenTemplate(path)) { /* some document manipulation with the DocumentGenerator goes here …*/ return File(dg.GetDocumentStream(), "text/plain", filename); } 在控制器结束之前,stream的这个错误是closures/处理的。 在这种情况下,我怎样才能确保资源妥善处置? 编辑:我现在的IDisposable实现只是configurationMemoryStream 。 我知道这不是一个正确的实现,我只是用它作为一个testing。 有什么不同,我可以在这里做,使其工作? public void Dispose() { _ms.Dispose(); _ms = null; }