小编Rac*_* R.的帖子

SignalR&require.js配置

我将SignalR合并到一个项目中,我已经使用require.js来处理我的脚本依赖项.

我在加载"jquery.signalR-1.1.2"后确保调用"/ signalr/hubs"时遇到了一些麻烦.

我得到了它的工作,但我想知道是否有更好的替代品.

这就是我所拥有的:

require(["signalr"], function () {
  require(["noext!/signalr/hubs"], function () {
      //initialize and work with the hub here
  }
}
Run Code Online (Sandbox Code Playgroud)

有没有办法在这里创建一个垫片来建立信号器/集线器和信号器脚本之间的依赖关系?

谢谢!

javascript requirejs signalr signalr-hub

10
推荐指数
1
解决办法
4164
查看次数

Asp.net MVC4 Bundles被URL重写规则打破,用于尾部斜杠

我将mvc4应用程序托管在现有站点下的虚拟路径中:

:http://www.mysite.com/myApp

如果URL中没有提供尾部斜杠,则会出现一个众所周知的相对路径被破坏的问题.因此,如果用户按照上面的方式键入URL,则无法找到使用相对路径的脚本,样式等.

如果提供了斜杠,一切正常.

为解决此问题,我安装了URL Rewrite(http://www.iis.net/downloads/microsoft/url-rewrite)并添加了规则以附加尾部斜杠(如果不存在).这是一个预定义的规则,如下所示:

<rewrite>
<rules>
    <rule name="AddTrailingSlashRule1" stopProcessing="true">
        <match url="(.*[^/])$" />
        <conditions>
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
        </conditions>
        <action type="Redirect" url="{R:1}/" />
    </rule>
</rules>
Run Code Online (Sandbox Code Playgroud)

到目前为止,唯一的问题是,现在通过在捆绑名称/ url和chache破坏之间添加一个尾部斜杠来破坏捆绑:

即:

http://www.mysite.com/myApp/bundles/myBundle/?v=8_EQPT2vzBgg4HcGhkeTQpLE1flm2VOsp3A1ZEy-C3k1

(注意 myBundle和?v = 8之间的/)

我试过从条件中排除"捆绑",但我没有运气.

我想知道如何从条件中排除某些路径(并非我的所有捆绑包都在路径上使用"捆绑包")或者可能是一个更简单的规则,允许我为我需要关心的唯一情况添加尾部斜杠about:当用户忘记在我的应用程序网址末尾输入它时.

谢谢,R.

UPDATE

我刚刚向我的主控制器添加了一个永久重定向条件 - 一个更容易被用户直接在地址栏上输入的控制器.这是解决我的问题.我打开这个问题,万一有人通过调整路由引擎或使用URL Rewrite来提出更好的想法.

这是代码:

public ActionResult Index()
{
    if (!Request.Path.EndsWith("/"))
        return RedirectPermanent(Request.Url.ToString() + "/");
    return View();
}
Run Code Online (Sandbox Code Playgroud)

iis-7 routes url-rewriting asp.net-mvc-4

2
推荐指数
1
解决办法
3303
查看次数