我已经创建了一个新的C#asp.net mvc 4.0(beta)Internet应用程序,我在Visual Studio 2010(sp1)的"添加视图"对话框中有一些奇怪的行为.当我决定创建强类型视图时,在"添加视图"对话框中,"模型"类下拉列表不会显示我的ViewModel类.
为了记录,是的,我在触发Add View对话框之前编译了应用程序.
我相信我已经确定了问题,但不知道如何解决它.如果有人关心重现行为,下面是重复步骤:
看来,只要我创建一个实现IAutofacRegistration接口并构建应用程序的类,我就不再能够在该下拉列表中查看我的ViewModel.
任何人都可以确认他们是否得到与我相同的结果?更重要的是,如何解决这个问题呢?
重要提示:我已尝试使用mvc 3.0应用程序执行完全相同的步骤,并且会发生完全相同的行为...因此,这与BETA版本无关.
真诚的文斯
这是关于asp.net mvc多语言网址/路由和SEO最佳实践/好处的两部分问题...
问题第1部分)
我被要求创建一个新的ASP.NET MVC网站,它将支持最少(最初)两种语言(英语和法语),将来可能会有3种语言...
至于本地化应用程序(标签,jQuery错误等),使用资源文件应该没问题,我已经找到了很多这方面的例子......但我的关注/问题更多的是关于URL.
在SEO方面,这两种方式之间的推荐方法是什么?
Fashion 1 (no culture folder)
www.mydomain.com/create-account
www.mydomain.com/creer-un-compte
Fashion 2 (with built in culture folder)
www.mydomain.com/create-account
www.mydomain.com/fr/creer-un-compte <--notice the “fr” folder
Run Code Online (Sandbox Code Playgroud)
使用一个而不是另一个已知的问题/惩罚?
或者它是如此之小,以至于变得无关紧要!
问题第2部分)
为了实现Fashion 2,我已经在这里找到了一篇文章: ASP.NET MVC - 本地化路线
但我很想知道如何实现时尚1.
有没有人有任何链接?
另外,据我所知,URL重写不是我想要的,因为我不想"重定向"用户...我只是希望用适当的语言显示网址,而不必在网址
在此先感谢您的帮助!
当我创建一个新的asp.net mvc 4.0应用程序时,我做的第一件事就是创建并设置一个自定义授权,global filter如下所示:
//FilterConfig.cs
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
//filters.Add(new HandleErrorAttribute());
filters.Add(new CustomAuthorizationAttribute());
}
Run Code Online (Sandbox Code Playgroud)
然后我创建了CustomAuthorizationAttribute这样的:
//CustomAuthorizationAttribute.cs
protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
{
if (filterContext.HttpContext.Request.IsAjaxRequest())
{
//Handle AJAX requests
filterContext.HttpContext.Response.StatusCode = 403;
filterContext.Result = new JsonResult { JsonRequestBehavior = JsonRequestBehavior.AllowGet };
}
else
{
//Handle regular requests
base.HandleUnauthorizedRequest(filterContext); //let FormsAuthentication make the redirect based on the loginUrl defined in the web.config (if any)
}
}
Run Code Online (Sandbox Code Playgroud)
我有两个控制器:HomeController和SecureController
HomeController使用[AllowAnonymous] …
有关Package Manager控制台和"Update Package"命令的快速问题.
我目前有一个托管两个MVC 4.0项目的解决方案(其中一个是Set as Startup Project).
当我打开时Package Manager Console,我选择了我想要更新的项目Default project dropdown,然后,我启动" Update-Package"命令.
令我惊讶的是," Update-Package"命令没有考虑我在内部选择的项目Default project dropdown,而是更新了我的MVC 4.0项目.
解决方法是在"Update-Package"命令中手动指定我的项目名称,如下所示: Update-Package -ProjectName Kobo.Portal.Web
出于好奇,有谁知道为什么Update-Package命令没有考虑默认项目下拉列表中的选定/目标项目?
这是一个已知的问题?这是设计的吗?如果软件包管理器控制台不考虑它,那么必须选择默认项目的目的是什么?
也许我对包管理器控制台的理解是错误的:-(
提前感谢任何对此有所了解的人.
真诚的文斯
在VS 2015中,使用此方法创建新的MVC 6.0应用程序时:
File-->New-->Project-->ASP.NET Web Application-->ASP.NET 5 Preview Templates
Run Code Online (Sandbox Code Playgroud)
您最终在磁盘上具有以下文件结构:
相反,如果我决定首先创建一个空白解决方案:
File-->New-->Project-->Other Project Types-->Visual Studio Solutions-->Blank Solution
Run Code Online (Sandbox Code Playgroud)
并开始向此解决方案添加新的ASP.NET Web应用程序项目; 你最终具有的文件结构没有一个global.json文件,没有src文件夹.
根据文档,global.json文件用于整体配置解决方案.它默认只包含两个部分,项目和sdk.
该projects属性指定哪些文件夹包含解决方案的源代码.默认情况下,项目结构将源文件放在src文件夹中,允许将构建工件放置在同级文件夹中,从而更容易从源代码控制中排除这些内容.
该sdk属性指定Visual Studio在打开解决方案时将使用的DNX(.Net Execution Environment)版本.它设置在这里,而不是在project.json中,以避免解决方案中的不同项目针对不同版本的SDK的情况.
问题1)
如上所述,如果我选择首先创建一个空白解决方案,我将没有global.json文件.
没有global.json文件影响应用程序的任何形状或形式的行为?例如,当我部署或与构建工件交互时?
问题2)
如果确实有影响,那么我应该手动创建此global.json文件吗?
问题3)
在撰写本文时,是否有建议的方法在ASP.NET 5中创建多层应用程序?
我应该首先创建MVC项目并开始向项目添加类库吗?
要么
我应该首先创建一个空白解决方案,然后开始将类库和Web应用程序添加到解决方案中(知道我没有global.json文件也没有src文件夹)?
上下文:
我们是一家没有Exchange Server(或任何致力于它的人)的小公司,但我们仍然需要/发送电子邮件.
我们决定使用Microsoft Online Services(MOS)
目标:
我们有一个Web服务器(带有IIS 6.0的Windows Server 2003 R2)并部署了一个C#ASP.Net MCV应用程序.
每次用户创建帐户时,Web应用程序都需要发送电子邮件.
根据文档,我们需要使用端口(587)并确保启用传输层安全性(TLS).此外,正在使用的FROM地址必须是"权威"类型,当我通过Microsoft Online Administration Center仔细检查时
代码:
我所拥有的C#代码应该是微不足道的,如下:
SmtpClient server = new SmtpClient("Smtp.mail.microsoftonline.com");
server.Port = 587;
server.EnableSsl = true;
server.Credentials = new System.Net.NetworkCredential("xxx@domain.com", "123abc");
server.UseDefaultCredentials = false;
MailMessage mail = new MailMessage();
mail.From = new MailAddress("xxx@domain.com");
mail.To.Add("johndoe@domain.com");
mail.Subject = "test subject";
mail.Body = "this is my message body";
mail.IsBodyHtml = true;
try
{
server.Send(mail);
}
catch (Exception ex)
{
throw ex;
}
Run Code Online (Sandbox Code Playgroud)
错误: …
有了新版本的VS 2013 RTM和asp.net mvc 5.0,我决定试一下......
不用说,很多都改变了.例如,new ASP.NET Identity是旧的Membership和(较旧的)SimpleMembershipAPI 的替代品.
在我之前构建的所有应用程序中,我从未有机会使用Membership或SimpleMembership.我总是最终创建自己的Login()方法,将提交的ViewModel转换为POCO(使用automapper),然后使用某种存储库来查找用户和密码.
作为回报,我将获得一个用户POCO,稍后将其转换(使用automapper)到较小的UserSession POCO.较小的UserSession将放在Session中.
当然,我仍然会在用户想要注销时使用它FormsAuthentication来创建Encrypted Ticket和使用FormsAuthentication.SignOut().
但我从未充分利用所Membership (or SimpleMembership)提供的优势.
我从来没有让我的POCO实现某种接口,也没有必要在我的POCO类库中添加对Microsoft库的引用.换句话说,我从未对任何事情有过强烈的依赖.
我的问题如下:
通过我看到的示例,我不断看到新的ASP.NET Identity(通过代码优先)创建了一些表和字段.例如,该AspNetUsers表将Id字段保存为string.当然,我确信有一种方法可以克服这个问题并最终看到例子,但为什么会有人NOT want to build pure POCO classes完全控制事物的创建和方式?
除非我感到困惑(很有可能),否则任何人都可以解释为什么我要使用新的ASP.NET Identity API(或者更重要的是,使用新的Microsoft.AspNet.Identity.EntityFramework)来创建我的表?
是什么Pros and Cons在想用这个,而不是事物的POCO风格?
也许我应该在另一个问题中提出这个问题,但我也试图了解在使用POCO而不是使用ASP.NET Identity生成的实体时,如何使新的基于声明的身份受益.
请随意指出正确的方向进行澄清.
在以前的MVC 2.0应用程序中,我(在我的Site.Master中)包含了对我jquery.validate.min.js所有客户端验证的CDN文件的引用.
我现在正在创建一个MVC 3.0项目,我对写的文章数量有点困惑 “how to use client-side validation using MicrosoftMvcValidation.js”.
在大多数(如果不是全部)文章中,当我看到对MicrosoftMvcValidation.jsI 的引用时,也会看到一个jquery.validate.js令人困惑的引用(考虑到,在过去,我只使用了bassistance的文件).
所以我的问题是:
Scripts"文件夹中,默认情况下,它看起来像两个文件,但为什么?他们是给我们选择还是他们携手合作?任何有助于解释这一点的帮助都会很棒!
提前致谢!
我知道在开发MVC应用程序时并不是每个人都使用彻底的架构,但我们假设我有以下架构:
App.Core --> Class Library (POCO or Domain objects)
App.Data --> Class Library (Repository and Entity Framework)
App.Service --> Class Library (Service layer with all business logic)
App.Web --> asp.net MVC 3.0 project
Run Code Online (Sandbox Code Playgroud)
App.Data --> Has a reference to App.Core
App.Service --> Has a reference to App.Core and App.Data
App.Web --> Has a reference to App.Core and App.Service
Run Code Online (Sandbox Code Playgroud)
在我们的MVC应用程序中,我们尝试遵循这种方法:
这种情况发生率为99.9%.它很干净,我们喜欢它,它很好地利用它自己......等等!
现在我的问题如下:
如果我们决定将我们的应用程序移动到MVC 4.0并开始使用新的Web API方法,我不确定我是否完全理解它在当前架构中的适用位置(或如何)?
请记住,我们愿意改变这种状况!
我们应该创建一个位于App.Service和App.Web之间的新App.WebAPI层吗?这意味着在我们的控制器中,我们不再需要直接调用App.Service而是需要新的App.WebAPI层?
或者,将Web API保留在App.Web层内,并使控制器调用其他APIControllers,然后调用App.Service层?
不知道我在这里是否有任何意义......但请随意提出任何建议,因为我对不同的输入感到好奇.
谢谢
我们有一个基于Web(ASP.NET MVC)的应用程序,它将SQL Server 2008用于其数据库.
由于数据对我们(以及我们的客户)非常重要,因此我们制定了备份和还原策略,简而言之,该策略如下所示:
-Weekly: Full database backup
-Nightly: Differential backup
-Hourly: Log backup
Run Code Online (Sandbox Code Playgroud)
我们使用的策略受到金佰利Tripp网络直播的影响很大(可以在这里查看:https://msevents.microsoft.com/CUI/EventDetail.aspx?culture = en-US&EventId = 1032278589&CountryCode = US).
题:
由于我们正在考虑将数据库迁移到SQL Azure,我想知道是否有人在SQL Azure中实施了类似的备份和还原策略.
尝试使用Azure实施备份和还原策略是否有任何人遇到任何已知问题?
感谢您的帮助.