小编Mat*_*att的帖子

错误HRESULT E_FAIL在调试时从调用COM组件VS2012返回

调试从Visual Studio 2010迁移到2012的项目时出现问题.每次调试它时都会收到错误消息:

"错误HRESULT E_FAIL已从调用COM组件返回".

在本地IIS服务器上编译和运行应用程序工作正常 - 只是无法调试.

除了迁移到VS2012之外的另一个变化是我现在使用Team Foundation Server进行源代码控制和问题跟踪 - 但我看不出它会如何影响它.

我可以将其缩小到以下几点

  • 项目文件 - 它已从VS 2003迁移为一个网站项目,并已被切断并更改了不同的版本
  • Crystal Report运行时库/其他一些库

有想法的人吗?

visual-studio visual-studio-2012

60
推荐指数
8
解决办法
14万
查看次数

Active Directory用户组成员身份GroupPrincipal

我正在尝试使用GroupPrincipal(System.DirectoryServices.AccountManagement命名空间的一部分)来填充类型字符串列表,因此我可以检查用户是否是Active Directory组的成员.这是我到目前为止编写的编辑类:

public class ActiveDirectoryMembership
{
    private PrincipalContext context = new PrincipalContext(ContextType.Domain, Environment.UserDomainName);
    private List<string> GroupName {get;set;}

    public ActiveDirectoryMembership() 
    {
         //Code snipped - this part returns a list of users
         populateGroups();
    }

    private void populateGroups()
    {
        GroupPrincipal SearchGroup = GroupPrincipal.FindByIdentity(context, "Group Name");
        GroupName = new List<string>();
        foreach (UserPrincipal p in GroupName.GetMembers())
        {
           GroupName.add(p.SamAccountName);
        }
    }
Run Code Online (Sandbox Code Playgroud)

那么,我哪里错了?

提前致谢 :)

c# active-directory

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

MVC Active Directory成员资格

我正在尝试使用活动目录成员资格而不是SQL,但在线提供的文档非常有限.我已经设法将我的应用程序连接到域控制器没有任何问题,但是当你使用"Context.User.Identity.Name"时,它会出现DOMAIN\User.我想基本上深入了解并获取全名,电子邮件地址等信息.

我只需要一个有用的链接,我所做的搜索似乎没有让我到任何地方!

非常感谢

c# model-view-controller activedirectorymembership

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

Linq查询耗时太长

我想知道是否有人可以帮助我.我有一个LINQ查询 - 没有问题,但返回数据需要太长时间

var result = Context.paf_wgs84.Where(c => c.Postcode.Contains(postcode)).Take(15);
Run Code Online (Sandbox Code Playgroud)

很简单,用户输入的想法,使用AJAX,它返回一组15个可能的匹配.

问题是,有160万条记录

在管理工作室中运行以下代码大约需要3秒钟

SELECT   code
FROM     paf_wgs84
WHERE    (code LIKE '%EC1%')
Run Code Online (Sandbox Code Playgroud)

运行以下代码的时间不到一秒

SELECT   TOP 15  code
FROM     paf_wgs84
WHERE    (code LIKE '%EC1%')
Run Code Online (Sandbox Code Playgroud)

有没有办法在LINQ中做类似的事情而不使用.take()

c# linq entity-framework

5
推荐指数
1
解决办法
2234
查看次数

内部NuGet服务器无法访问

我已经设置了一个内部NuGet服务器,以确保只有批准版本的软件包部署到我们的解决方案,但我很困惑为什么我无法下载特定的软件包.

首先,我检查一下NuGet服务器上是否存在包:

PM> Get-Package -Filter data -ListAvailable

Id                             Version              Description/Release Notes
--                             -------              -------------------------      
DataMatrix.net                 0.4.2                .[Removed]. 
EntityFramework                6.1.0                .[Removed]. 
Microsoft.AspNet.WebApi.Client 5.2.0                .[Removed].  
Run Code Online (Sandbox Code Playgroud)

然后我尝试下载包

PM> Install-Package DataMatrix.Net
The source at My NuGet Server [http://url.to.nuget/nuget] is unreachable. 
Falling back to NuGet Local Cache at ...
Run Code Online (Sandbox Code Playgroud)

我可以看到它正在进行查找:

2014-08-27 13:10:01 172.16.1.123 GET /nuget/Search() $orderby=Id&$filter=IsLatestVersion&$skip=0&$top=30&searchTerm='data'&targetFramework=''&includePrerelease=false 80 - 10.1.10.100 NuGet+VS+PowerShell+Console/2.8.50313.46+(Microsoft+Windows+NT+6.1.7601+Service+Pack+1,+VS+Professional/12.0) 200 0 0 46
Run Code Online (Sandbox Code Playgroud)

昨天,我从这台服务器安装了一个包,没有任何问题:

2014-08-26 16:27:15 172.16.1.123 GET /api/v2/package/pdfsharp.htmlrender/1.0.0 - 80 - 10.1.10.100 NuGet+VS+PowerShell+Console/2.8.50313.46+(Microsoft+Windows+NT+6.1.7601+Service+Pack+1,+VS+Professional/12.0) 200 0 0 59
Run Code Online (Sandbox Code Playgroud)

我也尝试转到包的URL(http://nuget.server.url/api/v2/package/DataMatrix.Net/0.4.2),这样可以正常工作.

有任何想法吗?

powershell visual-studio nuget

5
推荐指数
1
解决办法
377
查看次数

在knockout绑定中使用dropzone.js

我试图让dropzone作为淘汰赛绑定工作.我真的希望能够......

ko.bindingHandlers.dropzone = {
    init: function(element, valueAccessor, allBindingsAccessor, bindingContext) {
        $(element).dropzone({ url: 'some/tightly/bound/uri});
    }
}
Run Code Online (Sandbox Code Playgroud)

.. 但是我不能.根据在viewmodel中输入的数据,uri是动态的,所以这是我到目前为止所提出的:

var dropzoneObject; // probably should be this.dropzoneObject

ko.bindingHandlers.dropzone = {
    init: function(element, valueAccessor, allBindingsAccessor, bindingContext) {
        var url = allBindingsAccessor().urlPath || "unknown";
        dropzoneObject = new Dropzone("div#" + element.id, {
            url: url, 
            init: ...,
            etc
        });
    },
    update: function(element, valueAccessor, allBindingsAccessor, bindingContext) {
        var url = allBindingsAccessor().urlPath || "unknown";
        dropzoneObject.options = {
            url: url
        };
    }
}
Run Code Online (Sandbox Code Playgroud)

但是当我测试这个时,我收到以下错误:

Uncaught TypeError: Cannot read property 'trim' …
Run Code Online (Sandbox Code Playgroud)

knockout.js dropzone.js

4
推荐指数
1
解决办法
1143
查看次数

使用 Task.WhenAll,或不使用 Task.WhenAll

我正在审查一些代码并试图提出一个技术原因,为什么您应该或不应该使用Task.WhenAll(Tasks[])并行进行 Http 调用。Http 调用调用不同的微服务,我猜其中一个调用可能需要也可能不需要一些时间来执行......(我想我对此并不感兴趣)。我正在使用 BenchmarkDotNet 来让我了解是否消耗了更多内存,或者执行时间是否有很大不同。以下是基准的过度简化示例:

[Benchmark]
public async Task<string> Task_WhenAll_Benchmark()
{
  var t1 = Task1();
  var t2 = Task2();

  await Task.WhenAll(t1, t2);

  return $"{t1.Result}===={t2.Result}";
}

[Benchmark]
public async Task<string> Task_KeepItSimple_Benchmark()
{
  return $"{await Task1()}===={await Task2()}";
}
Run Code Online (Sandbox Code Playgroud)

Task1Task2方法真的很简单(我HttpClient在类中有一个静态)

public async Task<string> Task1()
{
  using (var request = await httpClient.GetAsync("http://localhost:8000/1.txt"))
  {
    return $"task{await request.Content.ReadAsStringAsync()}";
  }
}

public async Task<string> Task2()
{
  using (var request = await httpClient.GetAsync("http://localhost:8000/2.txt"))
  {
    return $"task{await request.Content.ReadAsStringAsync()}";
  }
}
Run Code Online (Sandbox Code Playgroud)

还有我的结果 …

c# async-await

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