小编Res*_*ing的帖子

删除TFS分支而不下载它

我试图通过以下命令删除尚未下载到我的工作区的分支.

tf delete /lock:checkout /recursive $/TfsServerName/TfsFolder/Branch

我收到以下错误消息:

No matching items found in $/TfsServerName/TfsFolder/Branch in your workspace.

有没有办法删除TFS分支而不实际下载它?

tfs branch visual-studio-2010

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

System.Type.FullName的意外值

我最近需要为任意类型构建C#特定名称(必须始终包含global :: specifier),并且遇到以下问题:

// 1 - value: System.String[,,,][,,][,]
string unexpectedFullName = typeof( string[,][,,][,,,] ).FullName;      

// 2 - value: System.String[,][,,][,,,]
string expectedFullName = Type.GetType( "System.String[,][,,][,,,]" ).FullName;
Run Code Online (Sandbox Code Playgroud)

我期待两种情况下返回的值都相同.但是,由于某种原因,数组相关的部分值似乎是相反的(案例1).这是逆转的预期行为吗?

.net c# typeof multidimensional-array gettype

20
推荐指数
1
解决办法
911
查看次数

应用程序域级别模拟

我正在开发一个需要将插件加载到单独的子应用程序域中的应用程序.只有一个插件加载到一个子应用程序域中.每个插件都需要不同的Windows标识,并且这些标识与默认(父)应用程序域中使用的Windows标识不同.每个插件都加载一个或多个子插件.

例如,默认应用程序域的身份是Authority\Limited(权限是域名或计算机名称).两个插件加载到两个子应用程序域中.加载的插件的标识是Authority\Privileged1Authority\Privileged2.Authority\Privileged1Authority\Privileged2分别具有对数据库Database1Database2的所有必要访问权限,而Authority\Limited无权访问任何上述数据库.

在创建子应用程序域时,我调用System.AppDomain.SetThreadPrincipal方法传递System.Security.Principal.WindowsPrincipal实例.该实例是从从重复的用户令牌创建的System.Security.Principal.WindowsIdentity实例创建的(请参阅http://support.microsoft.com/kb/306158).我已经省略了对WindowsIdentity.Impersonate方法的调用,因为我在创建WIndowsPrincipal实例时处于默认应用程序域中.

我希望设置app域线程主体足以使加载的插件成功登录到各自的数据库并执行一些T-SQL语句.令我惊讶的是,打开与数据库的连接时使用WindowsIdentity.GetCurrent()方法返回的值.方法返回的值是进程标识或模拟标识.

由于进程标识没有使用数据库所必需的权限,因此不可接受.因此,冒充必须发挥作用.但是,模拟必须仅在子应用程序域中进行.每个插件都公开了用于执行插件加载和卸载的方法.我知道我必须在开始时进行模拟并撤消这些方法结束时的模拟.但是,必须对子应用程序域中生成的所有线程进行模拟.由于每个插件都加载了一个或多个子插件,并且每个插件可能会产生一个或多个线程,因此必须在许多地方执行模拟,这看起来非常混乱.

是否可以执行一次模拟,以便影响在子应用程序域中生成的所有线程?

c# impersonation identity appdomain principal

8
推荐指数
1
解决办法
2284
查看次数

WCFExtras - 元素bahavior有无效的子元素'wsdlExtensions'?

<endpointBehaviors>
  <behavior name="singleFileEndpointBehavior">
    <wsdlExtensions singleFile="True" />
  </behavior>
</endpointBehaviors>
Run Code Online (Sandbox Code Playgroud)

"wsdlExtensions"下方有一条蓝线表示错误.

The element 'behavior' has invalid child element 'wsdlExtensions' ...

有谁知道如何解决这一问题?

wcf

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

为此关键字分配结构值

我最近正在研究CancellationToken结构的内部结构并发现了一些奇怪的构造(更准确地说,是为this关键字赋值).

其构造函数之一的代码如下:

public CancellationToken( bool canceled )
{
    this = new CancellationToken();
    if ( canceled )
    {
        this.m_source = CancellationTokenSource.InternalGetStaticSource( canceled );
    }
}
Run Code Online (Sandbox Code Playgroud)

this关键字赋值的行的含义是什么?

请注意,this类不能为关键字赋值- 出现错误Cannot assign to '<this>' because it is read-only.

c# constructor struct this variable-assignment

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

WCF数据服务错误处理

我已经创建了一个带有服务操作的WCF数据服务.

我想生成一种业务异常.我尝试生成,WebFaultException但我没有看到如何在服务操作抛出此错误时在客户端捕获此错误.

这是我的模拟异常的服务操作:

[WebGet] 
public void GenerateException() 
{
    throw new DataServiceException( 403, "Custom Message" );
}
Run Code Online (Sandbox Code Playgroud)

这是我的客户:

WebClient wc = new WebClient(); 
wc.DownloadString(
    new Uri(
      "http://localhost:27820/WcfDataService1.svc/GenerateException"
    )
);
Run Code Online (Sandbox Code Playgroud)

DownloadString抛出异常,但它只是Internal Server Error,我看不到我的Custom Message.

任何的想法 ?

非常感谢.

wcf

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

消息合同转换为SOAP消息

.NET框架如何从消息契约中创建SOAP消息?哪个序列化程序类用于序列化邮件合同?

.net c# wcf serialization soap

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

foreach和泛型编译器问题

我使用了类似于以下的接口和类:

public interface IIdentity
{
    int Id { get; set; }
}

public class Identity : IIdentity
{
    public int Id { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我正在创建Identity类的实例并将其添加到List<Identity>(以后称为实例创建块).

var identities = new List<IIdentity>();
identities.Add( new Identity { Id = 1 } );
identities.Add( new Identity { Id = 2 } );
identities.Add( new Identity { Id = 3 } );
Run Code Online (Sandbox Code Playgroud)

然后使用identities如下:

foreach ( IIdentity identity in identities )
{
    Console.WriteLine( "Plug-in: {0}", identity.Id.ToString() );
} …
Run Code Online (Sandbox Code Playgroud)

.net c# compiler-construction generics foreach

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

确定字段是否为泛型类型

是否可以通过反射确定一个字段是否是泛型类型?

如果有可能,怎么办呢?

我想我的问题不够明确,所以我现在正在编辑它.

编辑:

如果a将具有如以下示例中定义的类型并且DID没有Holder<T>类型的实例,但仅System.Type通过实例检索实例System.Reflection.Assembly.GetTypes并且System.Reflection.FieldInfo实例描述了字段_instance,那么如何确定_instance字段是否为泛型类型

public class Holder<T>
{
   private T _instance;
}
Run Code Online (Sandbox Code Playgroud)

.net c# reflection

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