小编Joh*_*ney的帖子

Chrome 49 plus --disable-web-security

今天(2016年3月15日),chrome停止使用--disable-web-security标志.我尝试了各种帖子中描述的以下选项:1)在Windows任务管理器中杀死所有Chrome.exe实例.2)添加--use-data-dir标志,有关于此的当前帖子,但那里的答案不再起作用了

这是我正在使用的脚本:

启动chrome.exe --disable-web-security --allow-running-insecure-content --use-data-dir = c:/ temp/chrome_dev

Chrome在此脚本下打开并显示禁用安全警告,但localhost跨域调用仍然失败:

在此输入图像描述

security google-chrome

13
推荐指数
4
解决办法
3万
查看次数

将IEnumerable <T>转换为IList

如果方法采用System.Collections.IList类型的参数,我可以合法/安全地传递类型的值System.Collections.Generic.IEnumerable<T>吗?

我将非常感谢为什么这是可能的以及在方法内部使用T时对象实际发生的事情的彻底解释IEnumerable<T>.

它被转换为Object的基类型吗?

是用作System.Collections.IEnumerable

是否存在会导致问题(即性能问题)的情况?

先谢谢你,约翰

.net generics ienumerable ilist

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

从Visual Studio扩展生成代码

我有一个项目,基于元数据生成文本(表示一个接口和一个类).我想采用这个生成的代码并将其作为新类和接口直接插入到特定项目和目录下当前打开的解决方案中.我将创建将生成类的菜单工具,但我不知道该怎么做是从我的自定义Visual Studio扩展中获取对以下项的访问:

  1. 迭代当前的解决方案并找到一个项目来将生成的代码转储到其中.
  2. 在Visual Studio中打开一个新文件窗口,将生成的文本从我的工具直接注入该窗口.
  3. 在我的自定义扩展中,在当前解决方案中的特定项目中创建一个新文件夹.

编辑 - 澄清我需要打开一个新文件(例如右键单击一个项目 - >添加 - >新类)并从我的自定义Visual Studio扩展中插入文本.

谢谢

c# visual-studio-2010 office-addins visual-studio-extensions

9
推荐指数
1
解决办法
4194
查看次数

来自JSON的WebAPI模型绑定

我正在使用Durandal创建一个应用程序,WebAPI作为服务器.我有一个KendoUI网格,可以正确显示来自服务器的数据并正常运行,直到调用POST或PUT方法.这是我的GET方法: 在此输入图像描述

并且您可以看到该数据绑定到UI(使用Durandal中的数据绑定扩展性来更改为kendo绑定): 在此输入图像描述

然后我编辑Grid中的数据,它将请求中的更改传递给服务器,如此Fiddler结果中所示: 在此输入图像描述

在服务器端,我无法获取从客户端传递的数据以绑定到我作为POST或PUT上的方法的参数放置的任何内容. 在此输入图像描述

我意识到这是几种不同的故障排除技术(例如Durandal,KnockoutJs,Kendo DataBinding和WebAPI),但我认为基础工作正在运行,数据被检索并绑定到UI,并在更改时发回,但WebAPI端点无法绑定到数据.

如何通过WebAPI中的ModelBinding结构获取传递的"models"数组?

更新 - 这是一个有用的JSFiddle,它给了我正确的Content-Type来添加:http://jsfiddle.net/Xhrrj/1/

new kendo.data.DataSource({ transport: { read: { type: "POST", url: "../cccs/service.svc/SupplierSearch", contentType: "application/json; charset=utf-8", dataType: 'json'...

这是从Telerik的论坛来这里

json model-binding kendo-ui asp.net-web-api durandal

9
推荐指数
1
解决办法
6472
查看次数

Web API中的Actions和QueryString参数

我想让我的通用路由确定是否像这样在Url中传递了查询字符串

http://localhost/query/DailyLogs/1?dateOfLog='1/13/2013'
Run Code Online (Sandbox Code Playgroud)

这是我当前的路线定义:

routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "query/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional}
        );
Run Code Online (Sandbox Code Playgroud)

我已经阅读了一些答案,说明将dateOfLog值添加为Route defintion的可选操作:

routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "query/{controller}/{id}/{dateOfLog}",
            defaults: new { id = RouteParameter.Optional, 
            dateOfLog = RouteParameter.Optional }
        );
Run Code Online (Sandbox Code Playgroud)

这似乎不起作用,也许我做错了什么,我不确定.


这就是我目前处理问题的方法,但我想使用路由引擎的ModelBinding功能:

 var queryValue = Request.RequestUri.ParseQueryString();
 string dateOfLog = queryValue["dateOfLog"];
Run Code Online (Sandbox Code Playgroud)

请告诉我如何创建一个正确使用ModelBinding的Route定义,并将我的自定义url映射到控制器的参数.

query-string asp.net-web-api asp.net-web-api-routing

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

通过扩展方法向 IEnumerable 添加项目不起作用?

在我使用的大多数返回某种集合的方法中,我返回 IEnumerable 而不是特定类型(例如 List)。在许多情况下,我有另一个集合要与结果 IEnumerable 结合,这与使用 AddRange 方法获取一个 List 并添加另一个 List 完全一样。我有以下示例,在其中我创建了一个扩展方法,该方法应该将项目集合添加到基本集合中,同时调试这似乎有效,但在原始集合中从未添加项目。我不明白这一点,为什么不添加它们,是否存在我缺少的 IEnumerable 实现方面的内容?我知道 IEnumerable 是一个只读接口,但我没有在下面的示例中添加到此列表中,我正在替换它,

class Program
{
    static void Main(string[] args)
    {
        var collectionOne = new CollectionContainerOne();
        var collectionTwo = new CollectionContainerTwo();

        // Starts at 1- 50 //
        collectionOne.Orders.AddRange(collectionTwo.Orders);
        // Should now be 100 items but remains original 50 //
    }
}

public class CollectionContainerOne
{
    public IEnumerable<Order> Orders { get; set; }

    public CollectionContainerOne()
    {
        var testIds = Enumerable.Range(1, 50);
        var orders = new List<Order>();
        foreach (int …
Run Code Online (Sandbox Code Playgroud)

c# ienumerable

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