我收到一个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) 我正在为一些关键业务运营编写审计服务.该服务正在使用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
.你对此有何看法?
在WCF中,请求 - 响应操作的超时是否会使客户端的通道出现故障?
如果服务器在发送响应时超时,那么通道是否在服务器端出现故障?
我想通过CSS实现这样的目标:
我是 CSS 新手。
我的问题:
div
下方添加一个小字体div
并将其背景设置为绿色?我确实知道有很多方法可以做到这一点,但我只想学习最佳实践。我正在尝试创建一个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,我看不到应用程序尝试检索导入的架构。
为什么这些导入语句似乎无法与 一起使用 …
我正在使用StructureMap来满足我的IoC需求.
为了使事情愉快地测试,我IContainer
尽可能地传递实例,通常作为构造函数参数.为方便起见,我希望能够回归使用ObjectFactory
无参数构造函数.
要做到这一点最简单的方法(我认为)是简单地得到IContainer
的ObjectFactory
类包装,并传递到其他构造.不幸的是,我找不到这个实例被公开曝光的任何地方.
问题是:
有没有办法获得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) 如果我们能够在到达我们网站的主页时显示与用户位置相对应的信息,那么对我的业务来说将是非常有益的.我理解,尝试从IP地址获取地理位置并不是一门精确的科学,但我们愿意接受我们所能得到的东西.
有哪些技术可用于确定网络用户的大致位置?
我正在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
时,总是显示表格格式。如何使命令的输出显示为表格?
我有一个按钮,可以在点击时执行某些操作.例如
$(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
或用户点击来判断事件是否正在执行?
我正在尝试与Azure Service Bus集成以执行代理消息传递.我以前成功使用过托管的.NET API,但这次我需要使用HTTP API.
处理消息时,如果我确定消息有毒(即永远无法成功处理),我想将消息移动到死信队列.
在托管API中,我调用BrokeredMessage.DeadLetterAsync()
它可以让我指定对消息进行死字的原因,并将其作为原子操作移动到死信队列.
在阅读了HTTP API文档后,我发现并调用了操作来执行其他操作,例如peek-lock,删除锁定的消息或放弃锁定,但我找不到对死信的显式操作一个消息.
HTTP API中是否存在此操作?
c# ×4
.net ×1
.net-core ×1
asp.net ×1
azure ×1
css ×1
geolocation ×1
http ×1
jquery ×1
powershell ×1
structuremap ×1
wcf ×1
xsd ×1