我最近阅读了很多关于"友好网址"的讨论(包括在本网站和其他地方),但我不确定究竟是什么让网址"友好",为什么我们真正关心(直到某一点) .插图:
以下是大多数当前Web开发人员称为"友好"的URL示例:
www.myblog.com/posts/123/this-is-the-name-of-my-blog-post
虽然这将被视为"不友好"(即坏,尼安德特人,无知,愚蠢):
www.myblog.com/posts.aspx?id=123
我的问题:
<title>标签和内容的用途吗?我之前说过"达到一定程度",因为很明显,网址可能会失控.以下是来自Amazon.com的实际网址,我认为他们认为没有人会认为"友好":
VSCode似乎总是记得我的会话并重新打开我上次使用时打开的文件和/或项目.当从命令行运行它并且提供了文件或文件夹时,它显然表现正常,但是当从任务栏快捷方式打开时,我希望它默认为空的环境.
有没有办法改变这种行为?
我有一个单页面应用程序,它使用Knockout.js进行数据绑定,使用Sammy.js进行客户端(基于哈希的)URL的路由.
我在Internet Explorer中看到了一个奇怪的问题:有时链接在点击时会改变浏览器地址栏中的URL,但相应的Sammy路由将不会执行.
它不会每次都发生(但我可以一致地重现错误),它只发生在IE10中(Chrome每次都能很好地工作).它似乎也与Knockout有关,因为一组硬编码链接不会出现同样的问题.
为了说明,我已经删除了除了最低限度以外的所有内容以重新创建问题并创建了两个jsbin示例:
示例1(使用Knockout): http ://jsbin.com/aretis/2/
要查看问题,请打开上面的链接并单击"记录#1",然后单击"Baz",然后再单击"记录#1".记录1的URL将显示在地址栏中,但该记录的路径不会附加到列表中.
示例2(没有Knockout): http ://jsbin.com/amivoq/1/
在这个例子中,我有一个记录链接的静态列表,而不是数据绑定列表.单击任何链接(按任何顺序)将导致该路由被附加到列表中(应该如此).
提醒一下,必须在IE中运行这些才能重现问题.
有任何想法吗?
internet-explorer sammy.js internet-explorer-10 knockout.js single-page-application
我有一个ASP.NET 4动态数据网站,它运行在一组相当简单的数据库表中,通过另一个程序集中的实体框架模型公开.我不想在EF模型中构建所有表,因此在我的global.asax文件中,我已经初始化了默认模型,如下所示:
DefaultModel.RegisterContext( typeof( MyCompany.MyProject.DataModel.DataContext ), new ContextConfiguration() { ScaffoldAllTables = false } );
MSDN文档(以及global.asax文件中的注释)说我现在应该能够通过将[ScaffoldTable(true)]属性添加到其部分"伙伴"类来有选择地启用各个表的脚手架.我这样做了:
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Web.DynamicData;
namespace MyCompany.MyProject.DataModel
{
[MetadataType( typeof( InHouseClaimMetadata ) )]
[ScaffoldTable( true )]
public partial class InHouseClaim
{
[DisplayName( "In-House Claims" )]
[TableName( "In-House Claims" )]
public class InHouseClaimMetadata
{
[DisplayName( "Reporting Date" )]
public object ReportingDate { get; set; }
// etc etc...
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是在加载Default.aspx时,我收到以下错误消息:
没有可访问的表.确保在Global.asax中注册了至少一个数据模型,并启用了scaffolding或实现自定义页面.
我以前在类似的场景中使用它; 这次尝试的另一个不同之处在于我的EF模型是它自己的组件.如果我更改global.asax继续并脚手架所有表,它可以正常工作.但显然,我不希望如此.我小心翼翼地确保部分元数据类的名称空间与EF数据上下文的名称空间匹配.
所以我很难过......
我有一个ASP.NET页面,它使用ASP.NET Ajax Control Toolkit TabContainer.在这种情况Page_Load下,我隐藏了一些基于给予页面的数据的选项卡.然后,我想根据(可选)查询字符串参数的值使其中一个选项卡处于活动状态.
所以我有:
protected void Page_Load ( object sender, EventArgs e )
{
if ( !this.IsPostBack )
{
// Tabs with no data are hidden in here
LoadDataIntoTabs();
PreselectCorrectTab();
}
}
private void PreselectCorrectTab ()
{
if ( ctlTabContainer.Visible )
{
if ( !string.IsNullOrEmpty( Request.QueryString[ "tabIndex" ] ) )
{
int tabIndex = 0;
if ( int.TryParse( Request.QueryString[ "tabIndex" ], out tabIndex ) )
{
if ( ( ctlTabContainer.Tabs.Count > tabIndex ) && …Run Code Online (Sandbox Code Playgroud) 我有一个包含两个主要分支的 Git 存储库:master 和 dev。它目前看起来像这样:
master ( )----( )----(A)----(B)----(C)
\
\
dev ( )----( )----( )----( )----(~ 30 additional commits...)
Run Code Online (Sandbox Code Playgroud)
非常简单,除了master上的 commit A包含对文件和文件夹结构的重大更改(基本上,我使用此处显示的步骤将存储库在层次结构中向上移动了一层)。
我想继续在 dev 分支上工作,但是当我尝试将 dev 变基到 master 以将新的文件结构引入 dev 时,Git 出现了大量错误。我git reset回到了一个理智的状态,但在我(有些有限)的 Git 经验中,许多错误通常意味着我采取了错误的方法。
有没有更好的方法将重新组织的文件夹结构转移到 dev 分支?如果有帮助,主(B和C)上的其他提交中的更改非常小,如果丢失它们会使事情变得更容易,我可以接受。
我正在试用一个用ASP.NET MVC(C#)编写的在线游戏,使用SignalR进行游戏的实时性,并作为Azure Web应用程序托管。这是一个相当简单的桌上型游戏,但是我遇到了一个问题,即在高峰负载(晚上和周末)下,应用程序使用了过多的内存,并且工作进程自动重新启动。
这是我的SignalR连接类的粗略代码概述(已删除日志记录,空检查等内容):
namespace MyApp.Connections
{
public class GameConnection : PersistentConnection
{
protected override Task OnDisconnected(IRequest request, string connectionId, bool stopCalled)
{
Game game = GameService.GetGameByConnectionId(connectionId);
List<Task> connectionTasks = new List<Task>();
Player player = game.GetPlayer(connectionId);
game.RemovePlayer(player);
foreach (Player playerToUpdate in game.Players)
{
GameActionResponse response = new GameActionResponse(game);
response.Message = string.Format("Player '{0}' has left the game.", player.Name);
connectionTasks.Add(Connection.Send(playerToUpdate.ConnectionId, response));
}
return Task.WhenAll(connectionTasks);
}
protected override Task OnReceived(IRequest request, string connectionId, string data)
{
Game game = GameService.GetGameByConnectionId(connectionId);
List<Task> connectionTasks = …Run Code Online (Sandbox Code Playgroud) asp.net ×2
c# ×2
asp.net-ajax ×1
asp.net-mvc ×1
browser ×1
dynamic-data ×1
friendly-url ×1
git ×1
knockout.js ×1
sammy.js ×1
search ×1
seo ×1
signalr ×1
tabcontainer ×1