小编Pau*_*ner的帖子

Response.Write Base64字符串

我收到一个Base64字符串,它实际上是PDF文件的字符串表示形式.我想用Response.Write写这个字符串,但不将其转换回二进制表示.

我试过这个:

var base64string = "...";
Response.Write(base64String);
Response.ContentType = "application/pdf";
Response.AddHeader("Content-Transfer-Encoding", "base64");
Run Code Online (Sandbox Code Playgroud)

浏览器无法将内容识别为base64编码的PDF文件.我怎样才能解决这个问题?

编辑:这是回应

HTTP/1.1 200 OK
Cache-Control: private
Content-Type: application/pdf; charset=utf-8
Vary: Accept-Encoding
Server: Microsoft-IIS/7.5
Content-Transfer-Encoding: base64
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Wed, 11 Apr 2012 11:00:04 GMT
Content-Length: 107304

JVBERi0xLjQKJeLjz9MKMSA... more content here
Run Code Online (Sandbox Code Playgroud)

c# asp.net http

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

我应该在自己的非LINQ代码中使用DuplicateKeyException吗?

我正在为一些关键业务运营编写审计服务.该服务正在使用IoC模式实现:

public interface IAuditWriter
{
    void WriteAction(int key, string value);
}
Run Code Online (Sandbox Code Playgroud)

因此,我需要它来提出不是特定于实现的异常.

审计过程中的部分信息包括一个唯一的密钥.作为服务的当前要求,它作为审计过程的一部分提供关键唯一性检查.重复密钥违反了流程要求.

目前,该服务将实现为对SQL-Server的写入.虽然不太可能,但密钥可能是重复的,在这种情况下,SqlException会抛出抱怨主键约束违规.我宁愿将此异常包装在更通用的"重复键"异常中,该异常可被捕获,然后允许进程生成新密钥.

通常,我讨厌创建一个新的异常类; 几乎总有一种合适的类型可用于传达相同的信息.我已经抓住了System.Data.Linq.DuplicateKeyException过去,它看起来像是一个很好的候选者,除了它来自LINQ相关的命名空间,我的界面与LINQ无关.

我的直接选择似乎是:

  • System.Data.Linq.DuplicateKeyException无论如何都要扔,希望没有人过多地读入命名空间.
  • 抛出System.InvalidOperationException并交叉我的手指我从来不需要一个可以因其他原因抛出此异常的实现.
  • 抛出我自己的习惯DuplicateKeyException.
  • 在接口中创建一个单独的方法来检查密钥唯一性,并在写入密钥和值之前调用它.

你对此有何看法?

.net inversion-of-control

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

在WCF中,超时是否会对通道造成错误?

在WCF中,请求 - 响应操作的超时是否会使客户端的通道出现故障?

如果服务器在发送响应时超时,那么通道是否在服务器端出现故障?

wcf timeoutexception

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

使用 CSS 添加“下划线”到框

我想通过CSS实现这样的目标:

在此输入图像描述

我是 CSS 新手。

我的问题:

  • 如何在底部添加一条绿线,如下所示?我是否必须在包含文本的div下方添加一个小字体div并将其背景设置为绿色?我确实知道有很多方法可以做到这一点,但我只想学习最佳实践。
  • 这个字体是Arial吗?

css

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

使用导入的架构编译 XmlSchemaSet

我正在尝试创建一个XmlSchemaSet针对 SAML 2.0 的架构定义集,从此处的协议架构开始:https ://docs.oasis-open.org/security/saml/v2.0/saml-schema-protocol-2.0 .xsd

var set = new XmlSchemaSet();

XmlSchema schema;
using (var reader = XmlReader.Create(
    "https://docs.oasis-open.org/security/saml/v2.0/saml-schema-protocol-2.0.xsd"))
{
    schema = XmlSchema.Read(reader, (sender, e) => Console.WriteLine(e.Message));
}

set.Add(schema);

set.Compile();
Run Code Online (Sandbox Code Playgroud)

调用时Compile,抛出以下异常:

System.Xml.Schema.XmlSchemaException
Type 'urn:oasis:names:tc:SAML:2.0:assertion:EncryptedElementType' is not declared.
   at System.Xml.Schema.XmlSchemaSet.InternalValidationCallback(Object sender, ValidationEventArgs e)
   at System.Xml.Schema.BaseProcessor.SendValidationEvent(XmlSchemaException e, XmlSeverityType severity)
   at System.Xml.Schema.BaseProcessor.SendValidationEvent(XmlSchemaException e)
   at System.Xml.Schema.Compiler.CompileElement(XmlSchemaElement xe)
   at System.Xml.Schema.Compiler.Compile()
   at System.Xml.Schema.Compiler.Execute(XmlSchemaSet schemaSet, SchemaInfo schemaCompiledInfo)
   at System.Xml.Schema.XmlSchemaSet.Compile()
   at XSD.Program.Main(String[] args)
Run Code Online (Sandbox Code Playgroud)

指定的类型urn:oasis:names:tc:SAML:2.0:assertion:EncryptedElementType出现在架构顶部导入的命名空间中:

<import
    namespace="urn:oasis:names:tc:SAML:2.0:assertion"
    schemaLocation="saml-schema-assertion-2.0.xsd"/>
Run Code Online (Sandbox Code Playgroud)

使用 Fiddler,我看不到应用程序尝试检索导入的架构。

为什么这些导入语句似乎无法与 一起使用 …

c# xsd .net-core

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

StructureMap,ObjectFactory和IContainer

我正在使用StructureMap来满足我的IoC需求.

为了使事情愉快地测试,我IContainer尽可能地传递实例,通常作为构造函数参数.为方便起见,我希望能够回归使用ObjectFactory无参数构造函数.

要做到这一点最简单的方法(我认为)是简单地得到IContainerObjectFactory类包装,并传递到其他构造.不幸的是,我找不到这个实例被公开曝光的任何地方.

问题是:

有没有办法获得IContainer内部ObjectFactory所以我可以像处理用户提供的实例一样处理它?

或者,有没有办法将配置复制ObjectFactory到新Container实例?

例:

我希望能够做到以下几点:

public class MyClass
{
    public MyClass()
    {
        Container = ... // The ObjectFactory container instance.
    }

    public MyClass(IContainer container)
    {
        Container = container;
    }

    public IContainer Container { get; private set; }
}
Run Code Online (Sandbox Code Playgroud)

c# structuremap objectfactory

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

如何获取Web用户的大致地理位置?

如果我们能够在到达我们网站的主页时显示与用户位置相对应的信息,那么对我的业务来说将是非常有益的.我理解,尝试从IP地址获取地理位置并不是一门精确的科学,但我们愿意接受我们所能得到的东西.

有哪些技术可用于确定网络用户的大致位置?

geolocation

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

如何设置PowerShell Cmdlet的默认输出格式?

我正在C#中创建PowerShell Cmdlet,以从JSON文件读取字段并输出一些对象。这些对象是简单的POCO类型:

public class FieldDefinition
{
    public FieldDefinition(string name, TypeCode code)
    {
        Name = name;
        Code = code;
    }

    public string Name { get; }

    public TypeCode Code { get; }
}
Run Code Online (Sandbox Code Playgroud)

写入输出时,条目显示为:

PS ~Debug> Get-Field

Name : Session
Code : Int64

Name : Instance
Code : String
Run Code Online (Sandbox Code Playgroud)

理想情况下,我希望默认显示形式为表格:

PS ~Debug> Get-Field | Format-Table

Name     Code
----     ----
Session  Int64
Instance String
Run Code Online (Sandbox Code Playgroud)

当我调用诸如之类的命令Get-Process时,总是显示表格格式。如何使命令的输出显示为表格?

c# powershell

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

如何检测jquery.trigger引发单击事件的时间?

我有一个按钮,可以在点击时执行某些操作.例如

$(function() {

    $('button1').click(function(e){
        /** This is just a pseudocode

        if( me.triggering ) {
            doTrigger();
        }else{
            doClick();
        }

        **/
    })

    $('button2').click(function(e){
        $('button1').trigger('click')
    })

});
Run Code Online (Sandbox Code Playgroud)

如何通过来电trigger或用户点击来判断事件是否正在执行?

jquery

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

如何使用Azure Service Bus HTTP API对消息进行死信

我正在尝试与Azure Service Bus集成以执行代理消息传递.我以前成功使用过托管的.NET API,但这次我需要使用HTTP API.

处理消息时,如果我确定消息有毒(即永远无法成功处理),我想将消息移动到死信队列.

在托管API中,我调用BrokeredMessage.DeadLetterAsync()它可以让我指定对消息进行死字的原因,并将其作为原子操作移动到死信队列.

在阅读了HTTP API文档后,我发现并调用了操作来执行其他操作,例如peek-lock,删除锁定的消息或放弃锁定,但我找不到对死信的显式操作一个消息.

HTTP API中是否存在此操作?

azure azureservicebus

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