我有一大堆存储在安全服务器上的图像,其中一些需要在面向世界的门户上显示.门户网站的服务器位于DMZ内部,允许请求但阻止直接请求进入安全域.图像使用SOLR编目,可以通过内部(apache?)服务器下载http://intenalname/folderA/folderAB/file.jpg
在我的内部我PhotoController可以创建一个实例WebClient,给它url并得到一个MemoryStream.如果我尝试使用这个内存流来填充response.content,我会得到一个空响应(每个fiddler).如果我使用内存流写入本地文件,然后读取文件(使用FileStream和FileInfo)它"按预期"工作.
我应该能够从一个MemoryStream到StreamContent没有经过文件系统(不应该)?但怎么样?默认构造函数StreamContent(stream)接受内存流实例而没有编译器错误......但它只是'不起作用'.
HttpResponseMessage response = Request.CreateResponse();
using (WebClient webClient = new WebClient())
{
string url = string.Format(PHOTO_GET, filePath);
using (MemoryStream memoryStream = new MemoryStream(webClient.DownloadData(url)))
{
// If these lines are unremarked the stream moves 'through' the file system and works (?!)
//memoryStream.Position = 0;
//string tempName = @"c:\test\" + Guid.NewGuid().ToString() + ".jpg";
//var fs = new FileStream(tempName, FileMode.OpenOrCreate);
//stream.CopyTo(fs);
//fs.Close();
//FileInfo fi = new FileInfo(tempName);
response.Headers.AcceptRanges.Add("bytes"); …Run Code Online (Sandbox Code Playgroud) 我查看了一些angularJS教程和样式指南,并找到了这样的评论(来自Todd Motto)
Bad:
var app = angular.module('app', []);
app.controller();
app.factory();
Good:
angular
.module('app', [])
.controller()
.factory();
Run Code Online (Sandbox Code Playgroud)
我首先通过示例学习了"坏"技术,并且从那以后看到一些参考(除了这一个)之外说"坏"技术是......好坏.
到目前为止,在我的搜索中没有人说为什么它不好?
编辑: 为什么这个问题有所不同? 虽然这与提出的重复问题之间的差异很微妙,但有两个重要的区别:
"什么是最佳做法?" 与"为什么不好?"不一样......虽然对另一个问题的接受答案详细阐述了"为什么",但是具有相同答案的两个问题不足以被称为重复.
使用我作为此问题标题的确切文本进行的有力搜索没有透露建议的副本.也许SE应考虑允许将"可选标题"添加到问题中以增强搜索性......但该功能不到位且其他人提出与我相同的问题仍然无法找到另一个问题.
目前,我有一个类型为A的对象,正由PropertyGrid查看.但是,它的一个属性是B类.B类属性是不可扩展的.我怎样才能改变这一点:
a)我可以展开自定义对象属性b)这些更改绑定到该属性
这是我到目前为止的代码:
using System;
using System.Windows.Forms;
using System.ComponentModel;
namespace PropGridTest
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
A a = new A
{
Foo = "WOO HOO!",
Bar = 10,
BooFar = new B
{
FooBar = "HOO WOO!",
BarFoo = 100
}
};
propertyGrid1.SelectedObject = a;
}
}
public class A
{
public string Foo { get; set; }
public int Bar { get; set; …Run Code Online (Sandbox Code Playgroud) 使用Win10 Pro/VS2015和'网站'项目(不是asp.net,基本网站)
当尝试保存/重新加载gulpfile.js时,我收到错误消息(来自Task Runner Explorer /输出)
SyntaxError:在严格模式下使用const.
在目前的情况下,它正在窒息'gulp-changed'
我查看了可用的答案和评论:
在我的情况下,环境路径,$(PATH)已经包含节点的全局安装,但我需要将它移到$(DevEnvDir)路径之前,以便它将获得优先级.
(在提供正确答案后添加,谢谢@baao)
我的package.json包含:
"dependencies": {
"popper": "^1.0.1",
"bootstrap": "^4.1.0",
Run Code Online (Sandbox Code Playgroud)
安装警告是:
bootstrap@4.1.0需要popper.js@^1.14.0的对等体
WTF?!?有两种不同的'风味'波普尔?
使用Oracle 10g.这个项目最初的Oracle设计师已经转移,我们这些人仍然是合理的Oracle开发人员,但我们需要一些调整和规划帮助.
我们在'like'包中有分区程序,其中一些(许多)已经增长到包括许多(50个ish)不同复杂程度的程序.
此时,这些较大的软件包中的几个小程序(从Contract中选择Item,其中Item ='xyz')需要比这些软件包(来自TOAD,SQL Developer或.NET Oracle Provider)内部执行的时间长得多'预期'如果proc是自己编译的,还是编译成一个较小的包.(表格已编入索引)
即使在调用相对简单的个别程序时,是否存在使用此类大型软件包的性能成本,或者是否存在我们应该寻找的某些"其他"因素?
(注意:计划升级到Oracle 11但不是'迫在眉睫')
我需要帮助形成一个jquery选择器来返回缺少特定子元素的元素.
给出以下HTML片段:
<div id="rack1" class="rack">
<span id="rackunit1" class="rackspace">
<span id="component1">BoxA</span>
<span id="label1">Space A</span>
</span>
<span id="rackunit2" class="rackspace">
<span id="label2">Space B</span>
</span>
<span id="rackunit3" class="rackspace">
<span id="component2">BoxA</span>
<span id="label3">Space C</span>
</span>
</div>
<div id="rack2" class="rack">
<span id="rackunit4" class="rackspace">
<span id="component3">BoxC</span>
<span id="label4">Space D</span>
</span>
<span id="rackunit5" class="rackspace">
<span id="label5">Space E</span>
</span>
<span id="rackunit6" class="rackspace">
<span id="component4">BoxD</span>
<span id="label6">Space F</span>
</span>
</div>
Run Code Online (Sandbox Code Playgroud)
找到机架单元跨度,没有组件跨度.到目前为止,我有:$(".rack .rackspace")来获取所有机架单元跨度,不确定如何排除那些具有组件跨度的那些或仅选择那些没有单独的那些...
我正在尝试使用C#中的URL访问从SSRS报告生成pdf。(在WebApi控制器后面的业务层中)我创建HttpClient的实例,分配正确的凭据并形成请求URL,例如:
如果我将URL放在浏览器中,它将下载所需的PDF文件。当我从HttpClient实例执行此URL以返回流时,出现401未经授权错误。
如果我打开Fiddler看看为什么...它按预期工作。
我如何在不使用Fiddler的情况下完成这项工作?为什么现在不起作用?
(使用C#,Web API,带有报表服务器的SQL Server2012,身份验证为NTLM)
尝试从SSRS下载报告(作为Excel文档)时出现间歇性错误。我建立正确的URL来呈现报告,如下所示:
WebClient webClient = new WebClient();
webClient.Credentials = new NetworkCredential("myDom\\myReportReader", "P@55W0rd");
//string credentials = Convert.ToBase64String(
// Encoding.ASCII.GetBytes("myDom\\myReportReader" + ":" + P@55W0rd"));
//webClient.Headers[HttpRequestHeader.Authorization] = string.Format("Basic {0}", credentials);
//401 Unauthorized thrown here:
return new MemoryStream(webClient.DownloadData(reportUrl));
Run Code Online (Sandbox Code Playgroud)
这里的目标是面向公众的IIS上的Web API控制器从受内部/防火墙保护的SSRS下载文件流,然后将流中继到浏览器。有时候,这行之有效...当它不行时,它在最后一行返回401错误...上面标注的行表示试图解决不起作用的问题。
注意:我已经在SO和其他论坛上回顾了几个类似的问题,但没有建议被证明有用。
以下t-SQL脚本可以正常工作:
USE [MASTER]
GO
BEGIN
IF NOT EXISTS
(SELECT name
FROM master.sys.server_principals
WHERE name = 'myTestUser')
BEGIN
PRINT 'CREATING LOGIN: [myTestUser]'
CREATE LOGIN [myTestUser] WITH PASSWORD = N'P@55w0rd'
END ELSE BEGIN
PRINT 'LOGIN [myTestUser] already exists on this server.'
END
END
GO
BEGIN
IF NOT EXISTS
(
SELECT 1
FROM master.dbo.sysdatabases
WHERE name ='myTestDb'
)
BEGIN
PRINT 'CREATING DATABASE [myTestDb]'
--INSERT CREATE DB SCRIPT --
END ELSE BEGIN
PRINT 'DATABASE [myTestDb] already exists on this server'
END;
END
GO …Run Code Online (Sandbox Code Playgroud) c# ×4
asp.net ×2
javascript ×2
sql-server ×2
.net ×1
angularjs ×1
bootstrap-4 ×1
expand ×1
gulp ×1
jquery ×1
ngrok ×1
node.js ×1
npm-install ×1
oracle ×1
oracle10g ×1
package ×1
plsql ×1
popper.js ×1
propertygrid ×1
sql ×1
stream ×1
t-sql ×1
view ×1