我目前正在编写一个C#asp.net应用程序来连接到IIS服务器并查询虚拟目录/ web目录信息.
我能够确定我应该处理的两种类型是"IIsWebDirectory"和"IIsWebVirtualDir".
如何确定它们是否已配置为C#中的"应用程序"?
UPDATE
@Kev - 我在你的答案中提取了信息并开发了以下简单的解决方案,以检查AppFriendlyName是否未设置为"默认应用程序"
private void CheckIfApp(DirectoryEntry de)
{
if(de.SchemaClassName.Equals("IIsWebDirectory") || de.SchemaClassName.Equals("IIsWebVirtualDir"))
{
if (de.Properties["AppFriendlyName"].Value != null)
{
string friendlyName = de.Properties["AppFriendlyName"].Value.ToString();
if (!friendlyName.Equals("Default Application"))
{
//do something...
}
}
}
}
Run Code Online (Sandbox Code Playgroud) 在调试ASP.NET项目时,如何配置Visual Studio以停止启动broswer窗口?
我在asp.net网页上有两个文本框,其中一个或两个都需要填写.两者都不能留空.如何在asp.net中创建验证器?
从包含字母和空格的字符串中解析整数的最有效方法是什么?
示例:我传递了以下字符串:"RC 272".我想从字符串中检索272.
我正在使用C#和.NET 2.0框架.
情况:
我的应用程序需要处理业务规则的第一步(初始的try-catch语句).如果进程在该步骤中调用辅助方法时发生某个错误,我需要切换到catch语句中的第二个进程.备份过程使用相同的帮助程序方法.如果在第二个进程中发生同样的错误,我需要停止整个进程并抛出异常.
执行:
我打算在第一个try-catch陈述的catch陈述中插入另一个try-catch陈述.
//run initial process
try
{
//initial information used in helper method
string s1 = "value 1";
//call helper method
HelperMethod(s1);
}
catch(Exception e1)
{
//backup information if first process generates an exception in the helper method
string s2 = "value 2";
//try catch statement for second process.
try
{
HelperMethod(s2);
}
catch(Exception e2)
{
throw e2;
}
}
Run Code Online (Sandbox Code Playgroud)
这个代码有异味吗?如果是的话,什么是更好的设计模式来避免这种情况?
编辑
我引起了一些混淆,并忽略了当第一个进程失败并切换到第二个进程时,它会向辅助方法发送不同的信息.我已更新方案以反映整个过程.
我目前正在开发批准路由WCF服务,该服务允许用户创建"规则",以确定如何路由请求.通过将Request类的"ObjectToEvaluate"属性与"Rule"类的"ObjectToEvaluate"属性进行比较来确定路由."UnitOfMeasurement"枚举确定如何为每个类强制转换"ObjectToEvaluate"属性.
public enum UnitOfMeasurement
{
Currency = 1,
Numeric = 2,
Special = 3,
Text = 4,
}
public class Request
{
public object ObjectToEvaluate { get; set; }
}
public class Rule
{
public object ObjectToEvaluate { get; set; }
public virtual void ExecuteRule()
{
//logic to see if it passes the rule condition
}
}
Run Code Online (Sandbox Code Playgroud)
使用"UnitOfMeasurement"枚举实现方法来转换"ObjectToEvaluate"属性的最佳方法是什么?
当我使用window.open()打开新窗口时,如何保持父页面的滚动位置?父页面返回页面顶部.
这是我目前的代码:
<a href="#" onclick="javascript: window.open('myPage.aspx');">
Open New Window
</a>
Run Code Online (Sandbox Code Playgroud) 这个问题已经在这里给出了答案:
如何清除Visual Studio中的MRU列表?- 7个答案
如何从Visual Studio 2008中的"最近项目"列表中删除所有项目?
我想将DataTextFieldASP.NET下拉控件的属性绑定到作为初始数据源属性的对象的属性.我将如何完成该特定任务.
下拉数据源数据模式
public class A
{
public string ID { get; set; }
public B { get; set; }
}
public class B
{
public string Name { get; set; } //want to bind the DataTextField to this property
}
Run Code Online (Sandbox Code Playgroud)
ASP.NET代码背后
DropDownList MyDropDownList = new DropDownList();
List<A> MyList = GetList();
MyDropDownList.DataSource = MyList;
MyDropDownList.DataValueField = "ID";
Run Code Online (Sandbox Code Playgroud) 在下面的源代码中,我从users集合中选择属性的子集,我需要将其绑定到下拉列表:
var locationDepts = (from u in users select new { u.RcNumber, u.RcName }).Distinct().ToList();
if(!locationDepts.Count.Equals(0))
{
ddlRCListPerBuilding.DataSource = locationDepts;
ddlRCListPerBuilding.DataValueField = "RcNumber";
//Want to format display test "RCNumber - RcName"
ddlRCListPerBuilding.DataTextField = string.Format("{0} - {1}", locationDepts.RcNumber, locationDepts.RcName);
ddlRCListPerBuilding.DataBind();
}
Run Code Online (Sandbox Code Playgroud)
我想将列表项显示文本格式化为匿名类型RcNumber和RcName的组合.如何访问匿名类型的属性以指示下拉列表项的文本格式?