我希望你能帮我解决下面的问题.
我在IIS7上使用ASP.NET MVC 3,并希望我的应用程序支持带点的用户名.
这就是我的Global.asax的样子:(http:// localhost / {username})
routes.MapRoute(
"UserList",
"{username}",
new { controller = "Home", action = "ListAll" }
);
Run Code Online (Sandbox Code Playgroud)
当我访问其他页面时,应用程序工作,例如http://localhost/john.lee/details等.
但主用户页面不起作用,我希望该应用程序像支持http://www.facebook.com/john.lee的 Facebook一样工作.
我使用下面的代码,它根本不适合我:
<httpRuntime relaxedUrlToFileSystemMapping="true" />
Run Code Online (Sandbox Code Playgroud)
我能够使用下面的代码并让应用程序接受点,但我绝对不希望使用下面的代码有很多不同的原因,请告诉我有一种方法来克服这个问题.
<modules runAllManagedModulesForAllRequests="false" />
Run Code Online (Sandbox Code Playgroud) 我刚刚在Visual Studio.NET 2015 RC上创建了一个快速的ASP.NET 5 MVC 6应用程序,并希望它在Windows 7上的IIS Web服务器上运行.
通常,当我在IIS上创建网站时,我需要选择一个应用程序池,v2.0或v4.0 Integrated.
现在因为.NET Core附带了所有库作为nuget包,我怎么能在IIS上运行它?我选择哪个应用程序池?这是如何运作的?
我已经阅读了很多一步一步的教程,仍然无法让我的代码工作,我在这个网站上也没有运气的解决方案,我不知道我做错了什么.
我正在使用jQuery并想知道是否使用了用户名"mark",我还没有达到数据库链接.
[HTML]
<input id="user_name" name="user_name" onchange="UserCheck()" type="text" value="" />
<div id="status" />
Run Code Online (Sandbox Code Playgroud)
[JS]
function UserCheck() {
$("#status").html("Checking....");
$.post("/user/check",
{ username: $("#user_name").val() },
function (data) {
if (data == 0) {
$("#status").html("Available");
}
else {
$("#status").html("Taken");
}
});
}
[Controller]
public JsonResult check(FormCollection form)
{
System.Threading.Thread.Sleep(3000);
string name = form["username"];
if (name.Equals("mark")){
return Json(1);
} else {
return Json(0);
}
}
Run Code Online (Sandbox Code Playgroud) 几天前.NET Core RC1已经发布了,我在阅读了很多关于它之后第一次试了一下,我喜欢它,但它有点不同.我正在尝试将一个小博客(内置MVC5)迁移到MVC 6和.NET Core.这并不难,但我真的很难重新创建我在MVC 5中完全相同的global.asax设置,ASP.NET 5不再具有global.asax所以我无法弄清楚大多数设置的替代品是什么是?
protected void Application_Start()
{
ViewEngines.Engines.Clear();
ViewEngines.Engines.Add(new RazorViewEngine());
MvcHandler.DisableMvcResponseHeader = true;
AntiForgeryConfig.SuppressXFrameOptionsHeader = true;
BundleConfig.RegisterBundles(BundleTable.Bundles);
RouteConfig.RegisterRoutes(RouteTable.Routes);
}
protected void Application_BeginRequest()
{
Response.AddHeader("X-Frame-Options", "DENY");
}
protected void Application_EndRequest()
{
if (Response.StatusCode != 301 && Response.StatusCode != 302) return;
var targetUrl = Response.RedirectLocation.Replace("ReturnUrl", "url");
Response.RedirectLocation = targetUrl;
}
protected void Application_AuthenticateRequest(object sender, EventArgs e)
{
string typeName;
byte userType = (byte)(Context.Request.IsAuthenticated ? byte.Parse(User.Identity.Name.Split('|')[2]) : 1);
switch (userType)
{
case 1: { typeName = "Client"; break; } …Run Code Online (Sandbox Code Playgroud) 使用ASP.NET 5,一切都被认为是基于选择,应用程序只加载选择的库,这是惊人的.较旧的ASP.NET功能封装在System.Web命名空间中,该命名空间具有构建ASP.NET应用程序所需的一切.将所有未使用的库填充到内存中是一个真正的成本,因此ASP.NET 5方法是选择您需要的内容而不是使用未使用的代码的大型库.
我的问题:
这种选择方法和性能改进是否仅适用于面向.NET CORE的ASP.NET 5?或者,针对Windows上的完整框架的ASP.NET 5是否获得了所有这些不错的功能?
当针对dnx451或dnx46时,它们是否依赖于System.web并且所有未使用的库仍然像旧版本的ASP.NET一样加载到内存中?
据推测,ASP.NET 5每个请求大约需要2kb内存,而旧版本的ASP.NET每个请求占用30kb内存.只有在针对dnxcore50时才能实现这种出色的性能提升吗?或者这也是dnx451/dnx46的情况?
在IIS 7.5+上运行ASP.NET 5 dnx46时,System.web是否仍未加载?(不确定,但我认为IIS和System.web是集成的,如果我错了,请纠正我).
最后,ASP.NET 4.6应用程序和在ASP.NET 5上运行的应用程序(dnx46)之间有什么区别?后者对另一方有什么改进?
有人请为我澄清一下吗?我似乎无法找到这些问题的明确答案.
我一直无法找到解决以下困境的可行解决方案。
我正在使用 SQL Server 2016 并在数据库中有下面显示的 2 个表。
Users 桌子:
Id Name
----------
1 Lisa
2 Paul
3 John
4 Mike
5 Tom
Run Code Online (Sandbox Code Playgroud)
Role 桌子:
Id UserId Role
------------------------
1 3 Manager
2 2,4,5 Developer
3 1 Designer
Run Code Online (Sandbox Code Playgroud)
我正在寻找循环遍历Role表的T-SQL 代码,提取UserIds 并Id从Users表中检索每个的关联名称。
所以循环结果看起来像这样:
John
Paul,Mike,Tom
Lisa
Run Code Online (Sandbox Code Playgroud) asp.net ×5
.net-core ×3
asp.net-core ×3
asp.net-mvc ×2
.net ×1
c# ×1
global-asax ×1
iis ×1
iis-7 ×1
jquery ×1
performance ×1
sql ×1
sql-server ×1
t-sql ×1
url-routing ×1