我有一个VB6控制台应用程序,它使用命令行参数.对于调试,我希望能够从IDE启动它,理想情况下能够将这些参数传递给它以查看它是如何正常运行的.我意识到我可以在适当的地方设置一个断点,并使用立即窗口设置命令行之外的值,我过去曾使用过其他一些解决方法,但有没有办法做到这一点,就好像我有实际上它作为控制台应用程序启动?
我正在尝试检索Active Directory中的用户信息,但我发现有些事情记录不清楚.例如,我看到的LDAP连接字符串包含一些我不知道的含义的关键字.这是一个示例:
LDAP://ofmdcoly302.ofm.wa.lcl/ou=employees,dc=ofm,dc=wa
Run Code Online (Sandbox Code Playgroud)
什么是关键词"ou"和"dc"应该表示什么?在我们的例子中,"ou = employees"似乎标识了一个特定的AD节点.但是,当我尝试在上面的目录条目上执行.FindAll()时,我得到"从服务器返回了一个引用".我想这意味着它无法找到我想要的东西,但它可能在其他地方可用?在一个地方,我读到"推荐是AD的说法,'这个对象可能存在于另一个领域'".
什么是"ou"和"dc"应该是什么意思?如果我有这个A/D结构,我将如何编码LDAP连接字符串以检索"AR"节点中的信息:

所以在这里,我尝试在localhost上调试我的ASP.NET Web服务中的一个小问题,而当我逐步完成它时,这件事情会超时.在这里,我认为默认超时值是20 分钟.但超时似乎发生在30秒 - 我已经两次定时 - 虽然在另一个时间我做了20秒.
我已经尝试通过将sessionState超时设置为30来管理这个问题,这符合MSDN关于HttpSessionState HERE的说法.使用此代码:
<sessionState
mode="InProc"
cookieless="true"
timeout="30" />
Run Code Online (Sandbox Code Playgroud)
在.
MSDN说超时的值应该是几分钟("获取并设置时间量,以分钟为单位......"),但它似乎没有任何区别.Machine.config没有指定任何值,因此默认为20分钟.
我在IIS 7.5中运行.我检查了IIS中的ASP.NET会话状态模式设置的属性,并将其选为"正在处理中".我不知道这会影响到什么,如果有的话.
所以这对我来说是一个谜.
在VBScript中有一个名为CreateObject的函数,它可以通过网页在客户端上运行.我以前用过它:
Set icaObj = CreateObject("Citrix.ICAClient")
CitrixVersion = icaObj.ClientVersion
Run Code Online (Sandbox Code Playgroud)
找出客户端计算机上安装的应用程序版本.
JavaScript中有类似的东西吗?
我对testbed页面进行了一些更改,所以我可以在这里更清楚地提问.
该页面有三个按钮:Set; 明确; 得到.
Set有这个代码:
PreferredCookie = new HttpCookie("PreferredCookie");
PreferredCookie.Value = "Chocolate Chip";
DateTime exp = DateTime.Now.AddDays(1.0d);
PreferredCookie.Expires = exp;
Response.Cookies.Set(PreferredCookie);
Run Code Online (Sandbox Code Playgroud)
清楚有这个:
HttpCookie PreferredCookie = Request.Cookies["PreferredCookie"];
if (PreferredCookie != null)
{
PreferredCookie.Value = "";
PreferredCookie.Expires = DateTime.Now;
Response.Cookies.Set(PreferredCookie);
}
Run Code Online (Sandbox Code Playgroud)
得到这个,输出到asp:Literal:
HttpCookie PreferredCookie = Request.Cookies["PreferredCookie"];
if (PreferredCookie != null)
{
CookieLiteral.Text = "Value = " + PreferredCookie.Value + "<br>";
CookieLiteral.Text += "Expires = " + PreferredCookie.Expires.ToString("MM/dd/yyyy HH:mm:ss");
}
else
{
CookieLiteral.Text = "<h2>No Cookie?</h2>";
}
Run Code Online (Sandbox Code Playgroud)
如果我启动页面并单击"清除",然后使用"获取"进行后续操作,我会看到:
没有Cookie?
如果我然后单击Set,然后Get,我看到: …
我有一个执行数据库搜索的相对复杂的存储过程。这是一个很好的 400 行长,但是当我在 Sql Server Management Studio 中使用不会返回任何命中的搜索参数执行它时,大约需要 1 到 3 秒才能完成。执行返回几百行的搜索所需的时间几乎相同。
但是,当我从调用此存储过程的 Web 应用程序运行它时,使用完全相同的搜索参数,它基本上从不返回结果。我已将连接和命令超时增加到 5 分钟,但仍然没有回来。事实上,它在抛出超时异常之前需要我允许的 5 分钟。
此超时发生在 Web 服务器和我的工作站上,与生产数据库背道而驰。
关于我可能会反对什么的任何想法?代码是 C#,我已经在 using 子句中运行了 Microsoft.Practices.EnterpriseLibrary 代码以及直接的 SqlClient 代码,并且没有一个。有 19 个参数,所以这是我最近尝试的简化版本:
IList<QueryResultsItem> resultsItem = new List<QueryResultsItem>();
string connString =
"server=[servername];database=[dbname];uid=[userid];pwd=[psw];Connection Timeout=300";
SqlConnection conn = new SqlConnection(connString);
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.CommandTimeout = 300;
cmd.Connection = conn;
cmd.CommandText = "ap_tems_get_batch_history_list";
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter parm = new SqlParameter();
parm.ParameterName = "@parm";
parm.Value = [value];
parm.Size = 3;
parm.SqlDbType …Run Code Online (Sandbox Code Playgroud) 对于C++,有一个函数,PlaySound,可用于,呃,播放声音.C#有这样的东西吗?我有一个应用程序,我想在它启动时播放系统声音,以通知它的启动.
GOT是一种方式.我希望.
我想把它放在Form_Load事件的末尾:
private void Form1_Load(object sender, EventArgs e)
{
/*
A bunch of configuration and initialization stuff
*/
PlayBeepBoop();
}
private void PlayBeepBoop()
{
PlaySystemSound("Beep");
}
Run Code Online (Sandbox Code Playgroud) 我试图在一个类中创建一个方法,使用WebClient访问Web服务上的WebMethod,并遇到问题.在Windows上使用VS2010.
首先,是的,我知道我可以在类库中创建Web服务的Web引用,当然这是设计时绑定.但是,我需要能够使用仅在运行时提供的信息来访问Web服务.有一个商业原因,我不会进入这里,请随便一起去.
这似乎可以使用System.Net命名空间中的WebClient类.事实上,我能够得到有问题的服务,但我发送给它的数据似乎没有正确的格式,尽管我可以说它是一个格式正确的SOAP消息.
WebException包含以下消息:"远程服务器返回错误:(415)不支持的媒体类型."
这是代码:
public string DoingBusiness()
{
WebClient client = new WebClient();
string destUri = "http://localhost/Service/Service.asmx?op=CommunicationsCheck";
StreamReader reader = new StreamReader(@"CommCheck.xml");
string data = String.Format(reader.ReadToEnd(), "The End is Near!");
reader.Close();
string response = client.UploadString(destUri, data);
return response;
}
Run Code Online (Sandbox Code Playgroud)
离开敏感的实际xmlns,上面的StreamReader读取的数据如下所示:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<CommunicationsCheck xmlns="http://.../">
<communication>{0}</communication>
</CommunicationsCheck>
</soap:Body>
</soap:Envelope>
Run Code Online (Sandbox Code Playgroud)
这看起来像一个完美的SOAP消息.当然,"{0}"会填充有效负载字符串.如果WebMethod"CommunicationsCheck(字符串通信)成功运行,它将返回:
<?xml version="1.0" encoding="utf-8" ?>
<string xmlns="http://[service url]/">You sent 'The End is Near!'</string>
Run Code Online (Sandbox Code Playgroud)
如果我通过浏览器或通过设计时Web引用访问服务,它会做什么.
所以,问题是,我在这里做错了,我得到了"(415)不支持的媒体类型"
是否需要设置WebClient上的属性?我是否需要提供包含UserAgent的Header?或者是其他东西?
我遇到了一个令人沮丧的问题,一直到深入浏览队列.我知道需要在打开选项中使用MQOO_BROWSE选项打开队列.然后在第一次读取时使用Get Messsage Option MQGMO_BROWSE_FIRST执行GET.最后,后续的GET应该使用MQGMO_BROWSE_NEXT选项.
问题是,我的尝试只能检索第一条消息!在第二次GET时,即使使用MQGMO_BROWSE_NEXT,该方法也会抛出MQRC_NO_MSG_AVAILABLE,即使队列中有5条消息!
这是我使用的代码:
IList<string> Messages = new List<string>();
_queueManager = new MQQueueManager(QueueManagerName);
int openOptions = MQC.MQOO_BROWSE // open queue for browsing
_queue = QManager.AccessQueue(QueueName, openOptions);
MQGetMessageOptions mqGetMsgOpts = new MQGetMessageOptions();
mqGetMsgOpts.Options = MQC.MQGMO_BROWSE_FIRST;
MQMessage msg = new MQMessage();
_queue.Get(msg, mqGetMsgOpts);
MQGetMessageOptions mqGetNextMsgOpts = new MQGetMessageOptions();
mqGetNextMsgOpts.Options = MQC.MQGMO_BROWSE_NEXT;
try
{
while (true)
{
string messageText = msg.ReadString(msg.MessageLength);
Messages.Add(messageText);
_queue.Get(msg, mqGetNextMsgOpts);
}
}
catch (MQException ex)
{
// Handle it
}
Run Code Online (Sandbox Code Playgroud) 我们有一个全天候可用的网络应用程序,但由于是工作日工具,用户往往会在晚上停止使用它,直到早上6点或7点才回来.很少有用户在周末使用它.
在非工作时间或早期工作时进入的一些用户已经注意到应用程序在他们第一次开始尝试使用它时响应不是很快.有人报告说,在他们实际登录之前,有几次尝试了3到5次登录尝试 - 他们会得到"加载页面时出错".不幸的是,我们构建了这个没有任何记录功能的应用程序,因此我们可以了解正在发生的事情.
但是,有人可以说任何关于网络应用程序睡觉的事情,可以这么说,经过几个小时的不使用?此应用程序使用位于单独服务器上的Sql Server数据库,因此我也发现这种困难可能是由于与Sql Server建立联系的速度缓慢造成的.