在我试图进一步面向未来的项目时,我试图找到使用C#检索Web目录中索引/默认页面的完整路径和文件名的最佳方法,而不知道Web服务器的文件名列表可能性.
'Server.MapPath("/ test /")'给我'C:\ www\test \'
...这样做:'Server.MapPath(Page.ResolveUrl("/ test /"))'
...但我需要'C:\ www\test\index.html'.
有人知道现有的检索文件名的方法,当有人浏览到该目录时,网络服务器将提供该文件名 - 无论是default.aspx,还是index.html,还是其他什么?
感谢任何帮助,饲料
我在VS2008(C#)中有一个包含多个项目的解决方案.我刚刚为我们的构建过程重新编写了一些.csproj文件,并且突然编码项目B时不会识别类代码中项目A的引用...想想我创建的变量类型下的红色波浪线.但是,构建解决方案不会产生任何错误.为什么它会像这样?
这是一个双管齐下的问题:场景:
我有一个脚本来查询MSDB并获取作业计划的详细信息.显然,表格从SQL 2000到SQL 2005不同.因此,我想检查框中运行的版本并进行相应的查询.现在的问题是:
问题1:
这就是我在做的事情.
IF LEFT(CAST(SERVERPROPERTY('ProductVersion') As Varchar),1)='8'
BEGIN
PRINT 'SQL 2000'--Actual Code Goes Here
END
IF LEFT(CAST(SERVERPROPERTY('ProductVersion') As Varchar),1)='9'
BEGIN
PRINT 'SQL 2005'--Actual Code Goes Here
END
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法呢?
问题2:
虽然上面的脚本在2000和2005的盒子上运行正常,但当我用我的实际代码替换"Print .."语句时,它在2000盒子上运行正常,但是当在2005盒子上执行时,尝试运行代码块意味着2000并返回错误.
这是实际的代码:
USE [msdb]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--Check SQL Server Version
IF LEFT(CAST(SERVERPROPERTY('ProductVersion') As Varchar),1)='9'
BEGIN
SELECT @@SERVERNAME
,sysjobs.name
,dbo.udf_schedule_description(dbo.sysschedules.freq_type, dbo.sysschedules.freq_interval,
dbo.sysschedules.freq_subday_type, dbo.sysschedules.freq_subday_interval, dbo.sysschedules.freq_relative_interval,
dbo.sysschedules.freq_recurrence_factor, dbo.sysschedules.active_start_date, dbo.sysschedules.active_end_date,
dbo.sysschedules.active_start_time, dbo.sysschedules.active_end_time) AS [Schedule Description]
, CONVERT(CHAR(8), CASE WHEN LEN(msdb.dbo.sysschedules.Active_Start_Time) = 3
THEN CAST('00:0' …Run Code Online (Sandbox Code Playgroud) 我做了很少的遗传算法; 他们工作(他们很快找到合理的解决方案).但我现在发现了TDD.有没有办法以TDD方式编写遗传算法(严重依赖于随机数)?
为了更一般地提出问题,如何测试非确定性方法/函数.这是我想到的:
使用特定的种子.如果我首先在代码中犯了一个错误,但在重构时有助于发现错误,那将无济于事.
使用已知的数字列表.与上面类似,但我可以手动遵循代码(这将非常繁琐).
使用常数.至少我知道会发生什么.当RandomFloat(0,1)总是返回1时,确保骰子总是读取6是很好的.
尝试尽可能多地从GA中移出非确定性代码.这看起来很愚蠢,因为这是它的目的的核心.
关于测试的非常好的书籍的链接也将受到赞赏.
language-agnostic unit-testing non-deterministic genetic-algorithm
我的问题是一样的,所以我实施了Koistya的解决方案如下.令人心碎的是,它在我的开发笔记本电脑上工作得非常漂亮,但是当移植到网络服务器时,它会超时,没有任何解释.
我的SMTP配置在我的web.config文件中.我根据Koistya的回答制作了mods:
<mailSettings>
**Changed**
<smtp from="my@email.com">
<network host="smtp.gmail.com" password="[password]" port="587"
userName="my@email.com"/>
</smtp>
**Original**
<!--<smtp from="my@email.com">
<network host="mail.domain.com" password="[password]" port="25"
userName="my@email.com"/>
</smtp>-->
</mailSettings>
Run Code Online (Sandbox Code Playgroud)
我的.Net C#代码(删除之前和之后):
SmtpClient mSmtpClient = new SmtpClient();
mSmtpClient.EnableSsl = true;
mSmtpClient.Send(message);
Run Code Online (Sandbox Code Playgroud)
正如我所说,这对我的开发环境很有用,但不适用于网络.有人可以帮忙吗?谢谢.
我试着检查我的系统中是否安装了XML :: Simple.
perl -e 'while (<@INC>) { while (<$_/*.pm>) { print "$_\n"; } }'
Run Code Online (Sandbox Code Playgroud)
上面的单行用于列出我系统中安装的所有模块.但是,它没有列出XML模块.
但是,以下执行正常.
perl -e "use XML::Simple "
Run Code Online (Sandbox Code Playgroud)
可能是什么问题?
我创建了一个C#桌面应用程序,它依赖于Web爬虫的想法.
我使用Web浏览器控件创建了我的应用程序来打开一个网站并按计划登录并重定向到具有gridview的特定页面,其中包含我要收集的所有用户数据...
但是这里的问题是网格视图中的用户名点击了JavaScript函数.我知道它的名字,但不知道如何在桌面应用程序中调用它.
允许我这样做的命名空间或DLL是什么?
我有一个隐藏的输入元素,我将其用作计数器,用于命名由JavaScript生成的更多输入元素.为了获得我使用的计数器的价值
parseInt($('#counter').val());
Run Code Online (Sandbox Code Playgroud)
但是我在代码中多次使用此代码段,所以我认为将它放在函数中会很好
function getCounter(){
parseInt($('#counter').val());
}
Run Code Online (Sandbox Code Playgroud)
这总是返回undefined,而只运行代码片段会返回正确的值.这种情况发生在几个方面,我试图将函数作为一个函数,作为$(function(){})内部的函数,作为全局函数等.如何修复作用域?
c# ×4
javascript ×2
.net ×1
bazaar ×1
command-line ×1
default ×1
email ×1
filenames ×1
google-apps ×1
http-proxy ×1
indexing ×1
jquery ×1
linq ×1
path ×1
perl ×1
perl-module ×1
scope ×1
sql ×1
sql-server ×1
t-sql ×1
unit-testing ×1
xelement ×1