标签: local

单元测试Url.IsLocalUrl(returnUrl.ToString()),我怎样才能让它在单元测试中返回false?

从MVC3应用程序中的帐户控制器中的标准LogOn方法,我该如何测试

Url.IsLocalUrl(returnUrl.ToString()) 
Run Code Online (Sandbox Code Playgroud)

url不是本地的代码行?换句话说,在进行单元测试时,我必须将这些代码添加到这行代码中,以使其返回false?

我使用了以下思路,这将返回false(非本地):

Uri uri = new Uri(@"http://www.google.com/blahblah.html");
Run Code Online (Sandbox Code Playgroud)

但它只是在单元测试中抛出了一个null异常

编辑:我应该补充一点,LogOn方法现在看起来像这样:

public ActionResult LogOn(LogOnModel model, System.Uri returnUrl)

if (ModelState.IsValid) {

            bool loggedOn = LogOn(model);

            if (loggedOn) {
                if (Url.IsLocalUrl(returnUrl.ToString())) {
                    return Redirect(returnUrl.ToString());
                }
                else {
                    return RedirectToAction("Index", "Home");
                }
            }
            else {
                ModelState.AddModelError("", "The user name or password provided is incorrect.");
            }
        }

        // If we got this far, something failed, redisplay form
        return View(viewModel);
    }
Run Code Online (Sandbox Code Playgroud)

某些样式警察/代码分析错误强制从字符串参数更改为System.uri参数,但它与标准原始参数非常相似.

只是为了澄清一下,在一个单元测试中 - 我想测试并断言击中Else它重定向到的行的结果Home/Index,所以我需要传递一些东西到(System.Uri)returnUrl它将使它返回false Url.IsLocalUrl而不抛出异常

进一步编辑:

我正在使用MvcContrib …

url local returnurl asp.net-mvc-3

6
推荐指数
1
解决办法
5104
查看次数

如何在 Firefox 11 中查看来自 http://localhost 提供的页面的 file:// 图像?

我的本地主机(端口 8080)上运行着一台服务器,它试图为本地文件创建 IMG 标签。但是,这些文件不会出现在 Firefox 11 中。

我最初是使用 Javascript 创建图像标签,但由于失败,我又转而使用 HTML 来尝试直接引用文件的各种方法。以下均无效:

<img src="file:///localhost:8080/C://Users/me/IMG_1000.JPG">
<img src="file:///localhost/C://Users/me//IMG_1000.JPG">
<img src="file:///C://Users/me/IMG_1000.JPG">
Run Code Online (Sandbox Code Playgroud)

如果我将最后一个 URL 直接粘贴到地址栏中,则图像可以正常打开。

我已按照此处的说明进行操作:

http://kb.mozillazine.org/Firefox_:_Issues_:_Links_to_Local_Pages_Don%27t_Work

我尝试过直接修改 user.js 和 prefs.js 以及通过 about:config 查看器修改。

我从“帮助”->“故障排除信息”->“配置文件目录”->“打开包含文件夹”获得了配置文件目录的正确路径。

添加的相关行是:

user_pref("capability.policy.localfilelinks.checkloaduri.enabled", "allAccess");
user_pref("capability.policy.localfilelinks.sites", "localhost:8080");
user_pref("capability.policy.policynames", "localfilelinks");
Run Code Online (Sandbox Code Playgroud)

我最初将 http:// 放在“localhost:8080”中,但 Firefox 删除了它。我也尝试了“http://localhost”和“http://127.0.0.1”,但这些也不起作用。

但是......奇怪的是,即使我从 about:config 输入它们并且可以在 prefs.js 中看到它们,我却无法从 about:config 看到它们!这让我觉得也许 mozillazine 上的信息已经过时了,毕竟它说该信息适用于“Firefox 1.5 及更高版本”,而我正在使用 Firefox 11!

注意:我想使用 file:// 访问的原因是我不想允许任意访问我的计算机上的文件。多解释一下:我有一个数据库接口,访问数据库所需的只是密码。这很好,因为我想允许任何拥有密码的人在我的机器外部访问数据库,但图像文件存在于数据库外部。为了通过服务器提供文件(因为存在的文件是动态的),我需要创建一个新的 CGI,它在数据库中采用某种标识符,但由于用户可以访问数据库,他们可以注入任何文件名他们想。

编辑:另外,我也无法 window.open() 文件 URL。这可能带来什么安全好处?

html javascript firefox file local

6
推荐指数
1
解决办法
3万
查看次数

可靠的城市级Geo-IP,免费本地数据库

我想整理一个PHP脚本来解决城市名称(没有其他需要),只有一个国家(IRAN)具有良好的解决方案.由于我必须多次查询数据库,因此最好通过可下载的本地版本.我已经阅读了stackoverflow上的大部分帖子,因为现在我已经测试了这些:

  • maxmind的GeoIP City听起来不错,但不是免费的.
  • 来自maxmind的GeoIP具有较低的准确度(约50-60%)
  • ip2country.net有一个IP-2-City数据库,但不是免费的,不解析伊朗的城市名称.
  • 我也尝试过来自ipinfodb.com 的DB#.Lite,这里有一个API 而没有任何成功.问题是,它没有检测到许多城市名称.
  • 我也试过hostip.info API,但似乎太慢了.
  • 有一个免费的PHP类与本地数据库,只解析国家名称.
  • 我不知道是否有机会,使用Piwik使用这个GeoIP插件.如果有人知道,我们将不胜感激.
  • ipinfo.io是另一项无法准确解析城市名称的服务.
  • 我不知道是否有办法使用谷歌分析来解析城市名称,因为我认为谷歌将比伊朗等国家的任何其他服务更好.

任何好主意都会非常感激.

php local ip-address geolocation ip-geolocation

6
推荐指数
1
解决办法
3302
查看次数

Python:如何从1D阵列或列表中获取局部最大值

我是Python的新手,我遇到了一个问题,我无法用找到的答案解决...希望有人可以提供帮助:我需要获取一个从csv文件导入的数据集的所有局部最大值的列表.值的范围从0到0.5左右.

我只需要获取一个数据行("Werte",数组或"N",列表)的局部最大值列表来对它们进行统计.

这就是我所拥有的:

import numpy as np
from numpy import *

N = []   

file = open('C:/Auswertung/PEE/PEE_L_1_O_130702-1.1.csv', 'r') 
Probe = file.readline()         # lese Inhalt zeilenweise in Listen
Header = file.readline()
data = file.readlines()

for row in data:
    columns = row.split(";")       # Trenne Zeilen bei ';' 
    N.append(float(columns[1]))

Werte = np.array([N])

# one try here: only gives me a set of 1s...    
c = (diff(sign(diff(Werte))) < 0).nonzero()[0] + 1 # local max
print(c)
Run Code Online (Sandbox Code Playgroud)

有没有人可以帮我找到正确的方法呢?非常感谢!

python numpy local

6
推荐指数
2
解决办法
6814
查看次数

重复的局部变量(For Loops)

我正在尝试解决一项任务(我仍然是Java的新手)并且已经通过许多资源来解决这个冲突,但仍然无法解决这个问题.(注意:Tuna是我的Scanner变量)

    int counted, sum, counted1;


    System.out.print("Enter your number to be calculated: ");
    counted = tuna.nextInt();
    counted1 =tuna.nextInt();


    for(int counted=0;counted<=counted1;counted++){
        System.out.println("The sum is: "+ counted);
    }
}
Run Code Online (Sandbox Code Playgroud)

}

结果是:线程"main"中的异常java.lang.Error:未解决的编译问题:计算重复的局部变量

我应该解决的问题是:

编写程序以读取数字,并将从1到该数字的所有数字相加.例如,如果用户键在6中,则输出为21(1 + 2 + 3 + 4 + 5 + 6).

补充:我读了一个相似的问题(),但我之前没有通过声明来解决这个问题.

java variables local duplicates

6
推荐指数
2
解决办法
5441
查看次数

Xamarin Forms - 处理通知点击

我有一个 Xamarin Forms 应用程序,它会引发 Android 通知,但我无法创建一个简单的页面,当用户单击通知时,该页面将与用户进行交互。我知道在 Xamarin.Forms 中只有 1 个活动,因此挂起的 Intent 必须是该 mainActivity

我已将 LaunchMode 设置为 SingleTop 和 Intent Filter 以匹配 pendingIntent 中使用的 Intent 名称

现在,当我单击通知时,我确实被路由到了 MainActivity 的 OnResume,但我不明白如何:1) 由于通知单击而认识到我在此活动中 - 我尝试向待处理的 Intent 添加一个 Extra,但是当我检查 this.Intent.Extras 时它不在那里 2) 即使我知道我由于点击通知而在活动中,我如何从活动中启动特定页面。我是 Xamarin 的新手,但看不到如何导航到内容页面或访问导航堆栈。

这一定是一个非常常见的用例,但我找不到任何相关的内容。

notifications local xamarin.android xamarin xamarin.forms

6
推荐指数
1
解决办法
3402
查看次数

使用 nginx 和 docker 测试本地子域

我正在尝试在我的 Mac 上本地设置一个简单的网络堆栈。

  • nginx 作为反向代理
  • 在本地主机上响应 Web 应用程序 #1
  • 响应 web 应用程序 #2 以在 demo.localhost 上提供服务

我正在使用 docker-compose 一次旋转所有服务,这是文件:

version: "3"

services:
    nginx:
      container_name: nginx
      build: ./nginx/
      ports:
        - "80:80"
      networks:
        - backbone
    landingpage:
      container_name: landingpage
      build: ./landingpage/
      networks:
        - backbone
      expose:
        - 3000
    frontend:
      container_name: frontend
      build: ./frontend/
      networks:
        - backbone
      expose:
        - 3001

networks:
  backbone:
    driver: bridge
Run Code Online (Sandbox Code Playgroud)

这是 nginx 配置文件(使用 Dockerfile 中的 COPY 命令复制到容器中):

worker_processes  1;

events {
    worker_connections  1024;
}

http {
      include /etc/nginx/mime.types;
      gzip  on;
      gzip_http_version …
Run Code Online (Sandbox Code Playgroud)

subdomain localhost nginx local docker

6
推荐指数
1
解决办法
2248
查看次数

使用来自 flatDir 源的 gradle 插件

如何为自定义插件修改 Gradle 插件{} 管理存储库? 在这篇文章中没有重复,因为它不包括使用flatDir.


如何使用在本地 JAR 中定义的 Gradle 插件,使用新plugin {}语义,而不是已弃用的apply()语义?

当前状态

没有任何解决方案,在发布问题并进行了相当长的搜索之后,我提出了一个问题,想知道这种应该是常见和直接的用法是否在 Gradle 修订后的插件语义中不受设计或疏忽的支持。

不幸的是,我的报告已关闭,没有提供任何有用的信息。

我在一个新问题中要求澄清,但仍在等待。

我很沮丧,原以为社区至少会对讨论这个问题感兴趣。

如果您可以提供信息,请这样做。

第一次更新

在澄清配置插件源的新样式之后,我更新了我的settings.gradle文件以使用以下块打开。然而,我感到遗憾的是,仅凭这一变化我没有看到任何改善。(对于build.gradle文件中引用的插件 id 字段,我尝试了 JAR 元数据中发布的全局 ID 和 JAR 文件的基本名称。两者都同样失败。)

pluginManagement {
    repositories {
        gradlePluginPortal()
        jcenter()
        flatDir {
            dirs 'lib`'
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

该文档解释了如何使用自定义存储库,但似乎忽略了一个简单的平面目录的情况。

第二次更新

如果我向 JAR 文件和plugins {}块中的相应语句添加版本号,我会得到一些改进。在这种情况下,消息变为:

Plugin [id: 'plugin-id', version: '1.0.0'] was not found in any of the following …
Run Code Online (Sandbox Code Playgroud)

java plugins local repository gradle

6
推荐指数
1
解决办法
3036
查看次数

如何在本地javascript文件中使用CDN

我正在尝试使用 Tone.js 用 javascript 制作音乐。每当我尝试使其工作时,我都会收到错误消息“tonetutorial.html:26 Uncaught TypeError:Tone.Player 不是构造函数”。

我的 HTML 文件顶部有。我目前正在使用 Brackets 来编写和预览我的代码。

这是我的 JavaScript 函数

function sequencer() {
const kick= new Tone.Player("Cartoon_Boing.mp3").toMaster();

const kickInputs = document.querySelectorAll(".kick");
}
sequencer();
Run Code Online (Sandbox Code Playgroud)

这是 HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/tone/14.0.2/Tone.min.js"></script>
<script src=tonetutorial.js></script>
<body>
    <h1>Music Maker</h1>
    <div class="drums">
        <div class="kick">
            <input type="Checkbox">
        </div>
    </div>
</body>
Run Code Online (Sandbox Code Playgroud)

当我尝试运行它时,我被告知“Tone.Player”不是构造函数。在这种情况下我可以不使用 web cdn 吗?我必须将 .min 下载到桌面吗?

html javascript cdn local tone.js

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

Rust 中的本地板条箱

我目前正在学习 Rust,为此我想创建自己的箱子并使用它。然而,Rust 找不到这个箱子。

\n

我有以下文件结构:

\n
\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80minimal\n\xe2\x94\x82    \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80Cargo.toml\n\xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80src\n\xe2\x94\x82       \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80main.rs\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80util\n    \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80win\n        \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80Cargo.toml\n        \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80src\n            \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80lib.rs\n
Run Code Online (Sandbox Code Playgroud)\n

在最小文件夹中文件夹中我有我的主要项目。它看起来像这样:

\n

Cargo.toml

\n
[package]\nname = "minimal"\nversion = "0.1.0"\n[dependecies]\nwin = { path = "../util/win"}\n
Run Code Online (Sandbox Code Playgroud)\n

主程序.rs

\n
extern crate win; // ERROR: "Can\'t find crate for \'win\' rustc(E0463)"\nfn main() {\n    println!("Hello, World!");\n}\n
Run Code Online (Sandbox Code Playgroud)\n

我的库位于win文件夹中如下所示:

\n

文件Cargo.toml

\n
[package]\nname = "win"\nversion = "0.1.0"\n
Run Code Online (Sandbox Code Playgroud)\n

文件lib.rs

\n
pub type TestType = String;\n
Run Code Online (Sandbox Code Playgroud)\n

我的第一个假设是我在指定Cargo.toml依赖项中的路径时犯了一个错误。所以我试着稍微扭动它,但似乎不起作用。

\n

铁锈报告

\n
\n

找不到“win” …

local rust crate

6
推荐指数
1
解决办法
2960
查看次数