我正在尝试使用HTTPWebRequest访问REST服务,并且在传递凭据时遇到问题,请参阅下面的代码.我读过它NetworkCredential不支持SSL,而且我正在访问HTTPS站点.有没有人知道类似于NetworkCredential支持SSL的类?
Uri requestUri = null;
Uri.TryCreate("https://mywebserver/webpage", UriKind.Absolute, out requestUri);
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(requestUri);
NetworkCredential nc = new NetworkCredential("user", "password");
request.Credentials = nc;
request.Method = WebRequestMethods.Http.Get;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Run Code Online (Sandbox Code Playgroud) 我在调试调用另一个AppDomain的应用程序时遇到问题,因为如果在其他AppDomain正在执行的任何操作中发生异常,则异常会冒泡并导致Visual Studio 2010无论如何都会中断.
我正确地包装了抛出a的方法调用try/catch,并且当我正常运行应用程序(ASP.NET MVC应用程序)时正常捕获异常,但是w3wp.exe在Visual Studio 2010中调试时,它总是在方法上中断调用那个抛出,即使应该被抓住,我也无法通过异常.
我试图装饰外部方法,其中try/catch和throw方法调用完成,[DebuggerStepThrough]但绝对没有效果.执行"继续(F5)","跳过(F10)"或"跳出(F11)"也不执行任何操作; Visual Studio只是暂停了一下,然后在相同的位置再次中断,但具有完全相同的异常.一旦Visual Studio在发生异常的位置停止,似乎绝对没有办法继续前进.
我正在做的就是调用assembly.GetExportedTypes()如果导出的类型引用了一个无法找到的程序集(我想忽略的情况),可能会抛出.抛出的异常是:
FileNotFoundException越过了本机/托管边界
我正在抓住FileNotFoundException,正如我所说的,这在运行应用程序时有效,但在调试时无效.如何让调试器理解我assembly.GetExportedTypes()抛出一个老鼠屁股?
我认为通过取消选中Visual Studio 2010中的选项"在异常时跨越AppDomain或托管/本地边界(仅限托管)"(在"调试">"常规"下)中的选项来解决此问题,但此问题刚刚再次出现.我已经撒了[DebuggerStepThrough],[DebuggerStepperBoundary]并且[DebuggerNonUserCodeAttribute]对所讨论的方法没有任何影响.
根据Travis-CI文档,您可以在不同的操作系统和分布中运行测试.
在撰写本文时,Google搜索不会显示所有可能的操作系统和分页选项的列表.所有人必须来自以下示例,它在构建矩阵子标题下提供以下内容:
有许多选项可供使用,使用
matrix.include密钥对于包含任何特定条目至关重要.例如,此矩阵将使用Xcode 7.2将构建路由到Trusty beta构建环境和OS X映像:
matrix: include: - os: linux dist: trusty sudo: required - os: osx osx_image: xcode7.2
然而,有没有指导哪些选项可用于os,dist或osx_image键.有谁知道在哪里可以找到这些值?
在我的Linq中,我试图将内部联接设置为可以为空的字段.员工和部门有关系,部门可能有EmployeeID或者可能有null.那么什么是我的连接,如果我只想要满足内部连接的记录(没有结果为null EmployeeIDs):
var result = from emp in employees
join dept in departments
on new { Source = emp.EmployeeID }
equals new { Source = dept.EmployeeID };
Run Code Online (Sandbox Code Playgroud)
我得到一个例外:
join子句中某个表达式的类型不正确.在"加入"调用中类型推断失败.
谢谢
我试图在IIS7(集成模式)中对错误的渲染进行完全的程序控制,因此我有一个硬核头痛.我想要做的是给出错误(找不到页面,内部服务器错误,未经过身份验证等),使用正确的HTTP状态代码将整个请求传输到自定义ASPX或HTML(我更喜欢后者).
我想要的是IIS7没有给出我设置HTTP状态代码的废话.我不想要它的错误处理.当我设置时Response.StatusCode = (int)HttpStatusCode.NotFound,我想要的不是IIS来呈现自己的错误页面,而是可能将请求转移到另一个文件.
我已经让这个静态配置工作了:
<configuration>
<system.webServer>
<httpErrors>
<clear />
<error statusCode="404" path="/errors/404.html" responseMode="ExecuteURL" />
</httpErrors>
</system.webServer>
</configuration>
Run Code Online (Sandbox Code Playgroud)
虽然这很有效,但鉴于错误情况,它并没有让我以编程方式控制如何处理响应.配置是一个很好的后备,但我真的希望能够在某些情况下设置Response.StatusCode和呈现与配置完全不同的东西404.html(如果我们收到JSON响应Accept: application/json),但IIS7不会让我.不是机会.
那我该怎么办?我试图设置HttpResponse.TrySkipIisCustomErrors Property,但这看起来像一个巨大的黑客,似乎并不一致.将此属性设置为true确实是建议的最佳做法,以获得我想要的行为?
目前,我留下的感觉只不过是对IIS7的强烈仇恨.任何人都可以通过证明我只是愚蠢并且我确实可以完全控制HTTP堆栈来帮助我解决这个问题吗?
我想将两个文件从一个存储库移动到另一个存储库.这些文件最初添加为:
/src/init/Price.cs/tests/init/PriceTests.cs这两个文件后来被重命名为:
/src/init/PriceValue.cs/tests/init/PriceValueTests.cs然后转到:
/src/moved/PriceValue.cs/tests/moved/PriceValueTests.cs我试图通过这种描述为这些文件创建一组补丁,但我不确定如何传递文件存在的六种不同路径.
我设法找到影响PriceValue.cs(跨重命名和移动)的所有提交ID ,但将这些ID传递给Git失败,并显示以下错误消息:
$ git format-patch -o /tmp/pricevaluepatches $(git log --all dfeeb 6966b 9f882 …)
-bash: /usr/local/bin/git: Argument list too long
Run Code Online (Sandbox Code Playgroud)
那么,我如何为此创建一组补丁,它只包含对所提到文件的更改,但是在一个重命名和每个文件的一次移动中包含它?
自从我几年前开始编写经典的ASP 12(左右)以来,我已经完成了这一切,我从来没有找到一个很好的解决方案,因为ASP和ASP.NET的架构一直是不良做法的沼泽,魔术共享单身,等我最大的问题是用HttpApplication其非事件的事件(对象Application_Start,Application_End等等).
如果你想在HTTP应用程序的整个生命周期内做一次Application_Start事情,那么这是显而易见的.对?不完全是.首先,这本身不是一个事件,它是一个神奇的命名约定,如果遵循这个约定,会导致该方法在IIS创建的每个AppDomain上调用一次.
除了魔术命名惯例是一种可怕的做法,我开始认为这可能是Start在HttpApplication对象上不存在事件的原因.所以我已经尝试过确实存在的事件,例如Init.嗯,这也不是一个真正的事件,它是一个可以覆盖的方法,这是下一个最好的事情.
似乎该Init()方法是针对HttpApplication对象的每个实例化调用的,每个AppDomain发生的次数不止一次.这意味着我不妨将我的启动逻辑放在HttpApplication对象的构造函数中.
现在我的问题是,为什么我不应该将我的启动逻辑放在构造函数中?为什么甚至Init()存在,我需要关心什么Application_Start?如果我这样做,任何人都可以解释为什么HttpApplication对象中的这个伪事件没有适当的事件或可覆盖的方法?
任何人都可以向我解释为什么在一个典型的ASP.NET应用程序中,我HttpApplication创建了8个实例(这会导致构造函数Init运行多次,当然;这可以通过锁定和调用的共享静态布尔值来缓解initialized)当我的应用程序只有一个AppDomain?
以下代码:
$zip = new ZipArchive();
if ($zip->open('./archive.zip', ZIPARCHIVE::CREATE) !== TRUE) {
die ("Could not open archive");
}
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator("./folder/"));
foreach ($iterator as $key => $value) {
try {
$zip->addFile(realpath($key), $key);
echo "'$key' successfully added.\n";
} catch (Exception $e) {
echo "ERROR: Could not add the file '$key': $e\n";
}
}
$zip->close();
Run Code Online (Sandbox Code Playgroud)
如果您尝试迭代的子文件夹中有太多文件,则会引发以下异常:
Uncaught exception 'UnexpectedValueException' with message 'RecursiveDirectoryIterator::__construct(./some/path/): failed to open dir: Too many open files' in /some/other/path/zip.php:24
Stack trace:
#0 [internal function]: RecursiveDirectoryIterator->__construct('./some/path/')
#1 /some/other/path/zip.php(24): RecursiveDirectoryIterator->getChildren() …Run Code Online (Sandbox Code Playgroud) 我看过这个关于面向对象的css的演示文稿,但我想我要么不理解它,要么不理解使用OO CSS的好处:
示例HTML:
<div class="border-1 bg-2 color-1 font-1">
</div>
Run Code Online (Sandbox Code Playgroud)
CSS示例:
/* borders */
.border-1 { border: 1px solid red; }
/* backgrounds: */
.bg-2 { background: yellow; }
/* other sections */
Run Code Online (Sandbox Code Playgroud)
我看到能够快速更改多个元素的样式的优势,例如,能够切换颜色方案将非常有用.
但实际上,您在HTML中定义样式/外观,或者至少是其中的一部分.当然,它比使用style属性更好,因为您仍然可以为一组组交换样式.
关键是,你是在HTML中定义样式组,但我了解到你应该在HTML中创建"逻辑"组(例如class="nav-item"/ class="btn submit-btn"),CSS完全应用样式并定义哪些元素属于"风格" "观点(例如.nav-item, .submit-btn { background: red; }).
也许我完全误解了这个概念.但是,我仍然不知道构建CSS的好方法.
当在 Azure SQL 的高级层上启用只读副本时,我们遇到了一些性能问题,这非常奇怪且无法解释。我可以使用以下内置函数查找是否正在只读副本上执行查询:
SELECT DATABASEPROPERTYEX(DB_NAME(), 'Updateability')
Run Code Online (Sandbox Code Playgroud)
READ_ONLY如果针对只读副本运行以上查询,则会返回。但是,没有办法监视只读查询。
根据以下文章,只读副本的预览版不支持扩展事件和查询存储,而以下文章建议读取横向扩展功能现已普遍可用。尽管如此,我仍无法监控在高级 SQL 数据库层的只读副本上执行的查询。
我可以看到一个用户语音项目。还有其他选项可以监控只读工作负载吗?
嗨,这更像是一个概念性的问题.W3C是如何决定使用hiddenvs. none?我问,因为我是一名ESL人(英语作为第二语言).如果我正在使用overflow: hidden, overflow: none也可以使用.这同样适用于display: none和visibility: hidden.不能只是一直display: none和visibility: none,因为真正做不同的是性能display和visibility而不是他们的价值.这更像是一个解释请求.例如,发生了类似的"奇怪"事情:
<script src="file.js">
Run Code Online (Sandbox Code Playgroud)
和
<link href="file.css">
Run Code Online (Sandbox Code Playgroud)
他们为什么不同?我理解所有这些在技术上如何工作,我只是好奇他们如何决定属性的名称.
谢谢.
我想在新项目中使用DDD并首先为我的类建模,然后根据类库生成数据库模式.我的计划是使用NHibernate hbm2ddl工具执行此操作SchemaExport.
问题在于我无法使用它SchemaExport,因为它让我遇到了一个奇怪的catch-22问题.SchemaExport需要一个Configuration对象本身需要一个有效的NHibernate配置文件以及一组数据库映射.
这里的catch-22是当我执行Configure()时,它会抱怨"Could not determine the name of the table for entity 'MyEntity'; remove the 'table' attribute or assign a value to it."因此该Configure()方法需要表存在,而SchemaExport应该基于Configuration我无法创建的表来创建它,因为表不是没有'存在.
那么,我究竟应该如何创建一个有效的NHibernate,Configuration其中包含SchemaExport实际做一些有用的事情所需的映射而不Configure()抛出并抱怨它无法找到要创建的表SchemaExport?是否有"模式"我可以设置Configuration对象,因此它不会检查数据库中是否存在给定的表,或者还有其他我需要做的事情?
我正在创建一个框架,其中包含一个围绕库(特别是SharpBrake)的包装器,它通过反射执行与SharpBrake的所有交互,因此对我的框架的第三方没有硬件依赖库.
如果我的框架的第三方想要使用SharpBrake,他们可以将SharpBrake.dll填充到bin文件夹中,但如果他们不这样做,他们就可以忘掉它.如果我的框架明确引用了SharpBrake类型,那么我的框架用户会在SharpBrake.dll缺失的运行时期间遇到异常,这是我不想要的.
因此,我的包装器首先从磁盘加载SharpBrake.dll,找到AirbrakeClient类型,并AirbrakeClient.Send(AirbrakeNotice)在私有字段中存储指向该方法的委托.然而,我的问题是,由于该Send()方法需要一个AirbrakeNotice对象而我无法AirbrakeNotice直接引用该对象,我需要以某种方式将该Send()方法转换为Action<object>.
我有一种强烈的感觉,这是不可能的,但我想在解决暴露Delegate和使用之前探索所有选项DynamicInvoke(),我认为这远非最佳,性能方面.我想做的是以下内容:
Type clientType = exportedTypes.FirstOrDefault(type => type.Name == "AirbrakeClient");
Type noticeType = exportedTypes.FirstOrDefault(type => type.Name == "AirbrakeNotice");
MethodInfo sendMethod = clientType.GetMethod("Send", new[] { noticeType });
object client = Activator.CreateInstance(clientType);
Type actionType = Expression.GetActionType(noticeType);
Delegate sendMethodDelegate = Delegate.CreateDelegate(actionType, client, sendMethod);
// This fails with an InvalidCastException:
Action<object> sendAction = (Action<object>)sendMethodDelegate;
Run Code Online (Sandbox Code Playgroud)
但是,此操作失败,并出现以下异常:
System.InvalidCastException:无法将类型为'System.Action`1 [SharpBrake.Serialization.AirbrakeNotice]'的对象强制转换为'System.Action`1 [System.Object]'.
显然,因为sendMethodDelegate是一个Action<AirbrakeNotice> …
c# ×4
asp.net ×2
css ×2
html ×2
.net ×1
app-startup ×1
appdomain ×1
debugging ×1
delegates ×1
exception ×1
file-move ×1
file-rename ×1
generics ×1
git ×1
git-patch ×1
github ×1
hbm2ddl ×1
http ×1
iis-7 ×1
iteration ×1
iterator ×1
lifecycle ×1
linq ×1
naming ×1
nhibernate ×1
non-nullable ×1
nullable ×1
oocss ×1
oop ×1
patch ×1
php ×1
reflection ×1
schemaexport ×1
sql-server ×1
travis-ci ×1
w3c ×1