这可能是一个基本问题.
我有两个项目:
如果我调试Silverlight应用程序,它希望使用生成的网页运行它,这当然不会启动我的Web应用程序,并且由于某些跨站点安全模型而导致Web服务调用失败.因此,即使我运行Web应用程序,Silverlight应用程序也不会使用它.
如果我调试Web应用程序(即,将其设置为启动项目并点击Debug),那么Silverlight应用程序显然已正确托管,但我无法对其进行调试.其中的任何断点都显示为空心圆.
那么我做错了什么?我应该如何配置我的项目,以便我可以启动Web应用程序,托管我的Silverlight应用程序并进行调试?
当有人告诉我时,我认为这是"面团"时刻之一,但我无法理解.
这是Visual Studio 2008,.NET 3.5和Silverlight 3.
我正在尝试为项目创建自己的DSL,并且我想创建一个包含主要引擎的T4文件,然后创建包含此引擎并调用它的小T4文件.
我正在考虑为将调用引擎的T4文件尝试这种格式:
<#@ include file="EngineLib\EngineLib.tt" #>
<# RunEngine(); #>
dsl goes here
Run Code Online (Sandbox Code Playgroud)
我有三个问题如下:
基本上,在EngineLib.tt中,我可以检索包含它的脚本的完整路径和文件名,在这种情况下,脚本如上所示?或者,如果没有,内容呢?
例如,在RunEngine()方法内部,如果第一个问题产生答案,我将读取原始脚本,删除包含T4指令的第一行,然后根据我的DSL规则处理文件的其余部分.
然后,当RunEngine从该DSL产生代码结果时,我将终止T4代码的处理,因此DSL本身不作为生成文件的一部分输出.
这有意义吗?
假设RunEngine只输出一个类,如果我不能终止处理,这就是生成的文件的样子:
public class SomeClass
{
}
dsl goes here
Run Code Online (Sandbox Code Playgroud)
显然我不希望DSL代码作为我生成的输出的一部分.
我知道我不能在DSL中包含类似T4的代码,因为这最终会被编译成代码,这些代码将作为T4处理的一部分运行,但在这种情况下它不会成为问题.
我还没有想到的其他任何事情都可能出错?
我们有一个类库,它可以执行一些类似于ORM的基本操作,基本上我们可以这样做:
conn.Query<EntityType>("select * from table");
Run Code Online (Sandbox Code Playgroud)
并取回一个List<EntityType>.由于从列名到实体类型的属性的映射存储在实体类型中,因此当需要仅使用属性的子集时,我们可以轻松地构造基本对象.
问题是,这段代码很大程度上依赖于反射,我们刚刚发现我们知道的开销远大于我们的预期.
与"select*from table"相关的各种操作的示例时序:
我们缓存所涉及的反射,但仍然有太多的开销.
由于99%的对象都是带有(1或2个支持字段)的简单属性,我想我可以通过IL/DynamicMethod生成以下代码:
instance._Id = (int)value;
Run Code Online (Sandbox Code Playgroud)
这失败了FieldAccessException,我认为这是因为字段是私有的.有没有办法让我生成这个代码,或者我只是安全地咆哮错误的树?
当我尝试访问我的c:驱动器的子目录时,我有一个奇怪的情况:
首先我尝试了以下代码,输出为0(零):
MessageBox.Show(new DirectoryInfo("c:").GetDirectories().Length.ToString());
但是当路径(c :)添加'\'时,它显示了c:drive中子文件夹的确切数量.
MessageBox.Show(new DirectoryInfo("c:\\").GetDirectories().Length.ToString());
但尝试了另一个驱动器(d :)像:
MessageBox.Show(new DirectoryInfo("d:").GetDirectories().Length.ToString());
它检索所有子目录.
谁能解释为什么会这样?
谢谢你们.现在我明白了"c:"返回当前目录而不是root "c:\".但我没有得到任何错误,如所提到的那样.
我在我正在使用的库中看到过这种定义.我对TObjectType:CSObject的位置感到疯狂.很明显,似乎我可以在约束中使用相同的时间,因为它可以工作和编译,但这究竟意味着什么?
public class CSList<TObjectType>: CSList, IList<TObjectType>, IList
where TObjectType: CSObject<TObjectType>
Run Code Online (Sandbox Code Playgroud) 我找到了一个Propperty Changed Event的实现,我可以在没有Web中属性名称的情况下更改Call Property.然后我在这里建立了一个扩展方法
public static void OnPropertyChanged(this INotifyPropertyChanged iNotifyPropertyChanged, string propertyName = null)
{
if (propertyName == null)
propertyName = new StackTrace().GetFrame(1).GetMethod().Name.Replace("set_", "");
FieldInfo field = iNotifyPropertyChanged.GetType().GetField("PropertyChanged", BindingFlags.Instance | BindingFlags.NonPublic);
if (field == (FieldInfo) null)
return;
object obj = field.GetValue((object) iNotifyPropertyChanged);
if (obj == null)
return;
obj.GetType().GetMethod("Invoke").Invoke(obj, new object[2]
{
(object) iNotifyPropertyChanged,
(object) new PropertyChangedEventArgs(propertyName)
});
}
Run Code Online (Sandbox Code Playgroud)
所以我可以将Property更改为:
private bool _foo;
public bool Foo
{
get { _foo; }
private set
{
_foo = value;
this.OnPropertyChanged();
}
}
Run Code Online (Sandbox Code Playgroud)
但我想,如果我在使用Property更改时不必实现属性的getter和setter,那就更好了. …
要在字符串中添加空格分隔符,我们使用String.Join().
我的问题:我有什么(以及如何)删除该分隔符.
该字符串的结构如下"FF FF FF FF FF FF FF FF FF ...."
如何删除空格?
我们使用不同供应商的几个组件包,其中两个都在其目录结构中提供了"regexp.pas"单元.
现在的问题是,无论我们编译它们的顺序如何,其中一个抱怨使用错误版本的各种其他单元编译单元.
有没有办法正确处理这个问题?
问候-
我有2节课.一个称为"程序",另一个称为"日志".名为Programs的类public const string m_sEnviron = "";接近顶部,我需要通过名为Logs的类来检查m_sEnviron变量的设置.变量m_sEnviron将从名为Tidal的调度程序中设置,因此如何从其他类检查其值.如果这不是最好的,请告诉我更好的方法.
提前致谢.
问候,
Namespace NightScripts
{
class Program
{
public static string m_sEnviron {get; set;}
static void Main(string[] args)
{
}
//Lots of other functions...
}
class Logs
{
//I try to get access to m_sEnviron but it will not show after I type Program.
}
}
Run Code Online (Sandbox Code Playgroud) 我有这个.htaccess规则:
RewriteRule viewshoplatest/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/$ /viewshoplatest.php?$1=$2&$3=$4&$5=$6&$7=$8&$9=$10&$11=$12&$13=$14&$15=$16
Run Code Online (Sandbox Code Playgroud)
它应该映射这样的URL:
http://www.veepiz.com/viewshoplatest/start/10/end/10/filter/0/ownerid/0/sortby/date/sortdir/DESC/cat/0/scat/0/
Run Code Online (Sandbox Code Playgroud)
对此:
http://www.veepiz.com/viewshoplatest.php?start=0&end=10&filter=0&ownerid=0&sortby=date&sortdir=DESC&cat=0&scat=0
Run Code Online (Sandbox Code Playgroud)
当我点击链接并打印$_GET变量时,我得到了这个:
Array ( [start] => 10 [end] => 10 [filter] => 0 [ownerid] => 0 [sortby] => start0 [start1] => start2 [start3] => start4 [start5] => start6 )
Run Code Online (Sandbox Code Playgroud)
关于它为什么表现不好的任何想法?
好吧,我通过重写规则来解决这个问题
RewriteRule viewshoplatest/start/(.*)/end/(.*)/filter/(.*)/ownerid/(.*)/sortby/(.*)/sortdir/(.*)/cat/(.*)/scat/(.*)/$ /viewshoplatest.php?start=$1&end=$2&filter=$3&ownerid=$4&sortby=$5&sortdir=$6&cat=$7&scat=$8
Run Code Online (Sandbox Code Playgroud) c# ×5
.net ×2
.net-3.5 ×1
apache ×1
asp.net ×1
debugging ×1
delphi ×1
delphi-units ×1
drive ×1
dsl ×1
formatting ×1
generics ×1
mod-rewrite ×1
path ×1
silverlight ×1
string ×1
t4 ×1
wpf ×1