小编dan*_*uio的帖子

如何使用C#从安全令牌获取信息

我需要让我的应用程序的用户使用他们的个人USB安全令牌签署他们的批准.

我已设法签署数据,但我无法获得有关谁使用了令牌的信息.

这是我到目前为止的代码:

CspParameters csp = new CspParameters(1, "SafeNet RSA CSP");
csp.Flags = CspProviderFlags.UseDefaultKeyContainer;            
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(csp);
// Create some data to sign. 
byte[] data = new byte[] { 0, 1, 2, 3, 4, 5, 6, 7 };
Console.WriteLine("Data         : " + BitConverter.ToString(data));
// Sign the data using the Smart Card CryptoGraphic Provider.            
byte[] sig = rsa.SignData(data, "SHA1");            
Console.WriteLine("Signature    : " + BitConverter.ToString(sig));
Run Code Online (Sandbox Code Playgroud)

令牌信息中有一个名为"令牌名称"的字段.我如何访问该字段以验证是否已使用令牌签署批准?

在此输入图像描述

有条件的信息和更新:

  • "令牌名称"始终匹配所有者的名称(拥有usb令牌的用户)
  • 它似乎无法完成,可能有一个Web服务或我需要调用的东西,以便直接从证书颁发机构获取信息.

c# sign pki

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

使用LinqToExcel读取xlsx保存为xls

看看这篇文章:Excel"外部表不是预期的格式."

我在该帖子中描述了同样的问题,但我使用LinqtoExcel来读取文件而不是普通查询.

LinqToExcel等效设置连接字符串作为该帖子的答案表明了什么?

这是我正在使用的代码:

var excelOM = new ExcelQueryFactory(pPathArchivoOM);
var despachosClient = from c in excelOM.Worksheet<RegistroDespachoOM>("Tabla_1")
                         where c.DESTINAT.Contains("SOMETEXT")
                         select c;
//Identificar los despachos asociados a números de documento sin datos aún.
foreach (RegistroDespachoOM despacho in despachosClient)
{ ...
Run Code Online (Sandbox Code Playgroud)

我的问题是:在foreach开始时"外部表格不是预期的格式".

编辑(我的问题已经解决,但问题仍然没有答案):我正在使用EPPlus代替LinqToExcel执行此任务,现在一切正常.

c# linq-to-excel

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

换行在MailMessage的正文中不起作用

我正在使用MailMessage和SmtpClient从ASP.NET发送电子邮件.我想介绍一些换行符,但没有以下工作:

  • 添加标签 sbBody.Append("<table width='100%'><tr><td></br></br>");
  • 添加\ r \n sbBody.Append("<table width='100%'><tr><td>\r\n\r\n");
  • 在StringBuilder中添加一个新行.

sbBody是一个StringBuilder,我最后用它来设置MailMessage的主体: mailMessage.Body = sbBody.ToString()

我在这里失踪了什么?我在Outlook中查看电子邮件,当然我将IsBodyHtml设置为true.

谢谢你的时间.

编辑:解决了,这是一个语法错误,</br>而不是<br/>

html c# asp.net

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

这意味着intellisense给我看的前缀"global ::"是什么意思

在我的解决方案中,我有一个业务层项目和另一个处理集成的项目; 在最后一个我有一个类来进行一些服务方法调用.

业务层引用集成项目.在那里,在业务层,我有followig方法,当我尝试创建Proxy类的实例时,intellisense向我展示了很多"global ::".我认为这个全局::没有区别,但我想知道为什么intellisense会告诉我这一点.

public void ActualizarOrdenesDeCompraDesdeElWS()
{
    Integracion.ProxyAudifarma proxy = new global::GOA.Integracion.ProxyAudifarma();
}
Run Code Online (Sandbox Code Playgroud)

我想这是一个微不足道的C#基础,我很想念,谢谢你的回答.

- 邮政编辑解决方案:

电话是:

namespace GOA.Negocio
{
    public class GOA
    {        
        public int ActualizarOrdenesDeCompraDesdeElWS()
        {                       
            Integracion.ProxyAudifarma proxy = new global::GOA.Integracion.ProxyAudifarma();
Run Code Online (Sandbox Code Playgroud)

GOA类被命名为根命名空间引入了歧义风险.将类名更改为AplicacionGOA解决了我的问题,现在intellisense不设置"global ::"空名称空间前缀.

c#

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

使用TransactionScope时避免启用MSDTC

[使用:C#3.5 + SQL Server 2005]

我在Business Layer中有一些代码,它们在TransactionScope中包含订单的创建及其详细信息:

        DAL.DAL_OrdenDeCompra dalOrdenDeCompra = new GOA.DAL.DAL_OrdenDeCompra();
        DAL.DAL_ItemDeUnaOrden dalItemDeUnaOrden = new GOA.DAL.DAL_ItemDeUnaOrden();            
        using (TransactionScope transaccion = new TransactionScope())
        {
            //Insertion of the order
            orden.Id = dalOrdenDeCompra.InsertarOrdenDeCompra(orden.NumeroOrden, orden.PuntoDeEntregaParaLaOrden.Id, (int)orden.TipoDeCompra, orden.FechaOrden, orden.Observaciones);
            foreach (ItemDeUnaOrden item in orden.Items)
            {                       
                //Insertion of each one of its items. 
                dalItemDeUnaOrden.InsertarItemDeUnaOrden(orden.Id, item.CodigoProductoAudifarma, item.CodigoProductoJanssen, item.CodigoEAN13, item.Descripcion, item.CantidadOriginal, item.ValorUnitario);
            }
            transaccion.Complete();
        }
        return true;
Run Code Online (Sandbox Code Playgroud)

以下是执行插入的DAL代码:

public int InsertarOrdenDeCompra(string pNumeroOrden, int pPuntoEntregaId, int pTipoDeCompra, DateTime pFechaOrden, string pObservaciones)
    {
        try
        {
            DataTable dataTable = new …
Run Code Online (Sandbox Code Playgroud)

c# transactions data-access-layer transactionscope

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