我有一个ASP.NET项目和一个类库项目的解决方案,其中ASP.NET项目依赖于类库作为数据访问层.
在我的类库项目中,我有SiteSetting.xml和c#代码,它们正在请求xml文件,如下所示.
C#代码:
DataSet ds = new DataSet();
ds.ReadXml("SiteSetting.xml");
Run Code Online (Sandbox Code Playgroud)
当我启动我的asp.net应用程序并查看调用上面的c#代码的页面时,我收到一条错误消息"无法找到文件'C:\ Program Files\Microsoft Visual Studio 9.0\Common7\IDE\SiteSetting.xml' ".
C:\ Program Files\Microsoft Visual Studio 9.0\Common7\IDE \显然不是我的c#代码所在的位置.我的源代码在c:\ Projects ..但是我的ASP.NET和类库项目的编译二进制文件在哪里被执行?更好的问题是,如何在ds.ReadXml()的上下文中使用相对路径正确引用SiteSetting.xml?
我想使用相对路径,以便在找到SiteSetting.xml时,执行二进制文件的位置不会出现问题
更新 感谢您的输入人员.Server.MapPath()很接近,但没有雪茄.Server.MapPath在我的ASP.NET项目中返回一个相对路径,而不是我的c#,这是我的SiteSettings.xml所在的位置.
因此,例如我有一个名为StackOverflow的项目,它有一个名为"StackOverflow.Data"的C#项目和一个名为"www"的ASP.NET Web项目,那么我将拥有以下文件夹.
c:\ Projects\StackOverflow c:\ Projects\StackOverflow\StackOverFlow.Data < - 类库项目作为我的数据访问层c:\ Projects\StackOverflow\www < - 调用StackOverflow.Data类和方法的ASP.NET项目
Server.MapPath("〜/ SiteSettings.xml")返回c:\ Projects\StackOverflow\www\SiteSetting.xml.我需要一种方法来获取像c:\ Projects\StackOverflow\StackOverflow.Data\SiteSetting.xml这样的路径
我有一个'用户'实体,其中包含'地址'值对象.我使用FNH的Component概念确定了这个映射.但是,Address VO还包含一个Country,它是另一个值对象.我曾假设这应该只是作为另一个组件嵌套,但这似乎不起作用.有谁能告诉我应该如何解决这个问题?
映射代码如下......
谢谢!
public UserMapping()
{
Table("Users");
Id(c => c.Id).GeneratedBy.HiLo("100");
Map(c => c.UserName).Not.Nullable().Length(64);
Map(c => c.Email).Not.Nullable().Length(128);
Map(c => c.Password).Not.Nullable().Length(256);
Map(c => c.Roles).Length(64);
Map(c => c.FirstName).Not.Nullable().Length(64);
Map(c => c.LastName).Not.Nullable().Length(64);
Map(c => c.BirthDate).Not.Nullable();
//Address
Component(x => x.Address, m =>
{
m.Map(x => x.AddressLine1).Not.Nullable();
m.Map(x => x.AddressLine2);
m.Map(x => x.City).Not.Nullable();
m.Map(x => x.Region);
m.Map(x => x.PostalCode).Not.Nullable();
//*****Country Here********
// country has Name and Code
});
}
Run Code Online (Sandbox Code Playgroud) 我得到了这个c ++宏,并想知道代码%2(百分号)是什么意思?
#define SHUFFLE_STATEMENT_2(code, A, B)
switch (code%2)
{
case 0 : A; B; break;
case 1 : B; A; break;
}
Run Code Online (Sandbox Code Playgroud) 基本上我想要像Dictionary <Tkey1,TKey2,TValue>这样的东西,但不是(正如我在其他问题中看到过的那样)和AND中的键,但是在OR中.为了更好地解释:我希望能够在字典中找到只提供其中一个键的元素,而不是两者.
我还认为我们应该考虑线程安全性以及轻松扩展到Dictionary <Tkey1,TKey2,TKeyN,TValue>解决方案的能力......
我有一个SQL脚本而不是运行几个DBBC命令.有没有办法将执行这些命令生成的消息发送到简单的日志文件,例如"C:\ log.txt"?
我的意思是在执行查询后出现在SQL Server 2005 Management Studio底部的消息框中的消息.
需要这样做的原因是因为我不打算打开SQL Server Management Studio,因此无法看到消息.
如果有帮助,我正在使用SQL Server 2005.
使用.NET 3.5
我想确定当前时间是否落在时间范围内.
到目前为止,我有目前的情况:
DateTime currentTime = new DateTime();
currentTime.TimeOfDay;
Run Code Online (Sandbox Code Playgroud)
我正在搞清楚如何获得转换和比较的时间范围.这会有用吗?
if (Convert.ToDateTime("11:59") <= currentTime.TimeOfDay
&& Convert.ToDateTime("13:01") >= currentTime.TimeOfDay)
{
//match found
}
Run Code Online (Sandbox Code Playgroud)
更新1:感谢大家的建议.我不熟悉TimeSpan功能.
根据msdn,当我用CWnd :: FromHandle获得CWnd*时,
指针可能是临时的,不应存储以供以后使用.
"后期使用"的含义对我来说并不清楚.它只是当前方法的范围吗?据我所知,Win32中没有GC!
我试图将用户控件转换为Asp.NET MVC中的帮助器方法.但是,我似乎无法访问Request.Url.Host如何获得正确的主机.
c# ×3
asp.net ×2
asp.net-mvc ×1
c++ ×1
client ×1
collections ×1
combobox ×1
cwnd ×1
datetime ×1
detect ×1
dictionary ×1
extjs ×1
generics ×1
hwnd ×1
mfc ×1
nhibernate ×1
orm ×1
php ×1
resolution ×1
server ×1
sql ×1
sql-server ×1
t-sql ×1
timespan ×1
winapi ×1