在我工作的团队中,我们拥有一个包含许多WCF Web服务的大型产品和一些使用这些服务的网站.我们即将升级到VS 2010,我正在考虑是否应该开始在VS 2010中使用新的配置转换功能.
我们有几个不同的环境需要不同的web.configs(数据库连接字符串,WCF地址等).通常在调试高级内容(例如Web前端)时,将其配置为直接连接到TEST或QA后端/数据库是有用的.在每个开发者的本地机器上的IIS直接配置到各个WCF/Web项目的源文件夹,并在本地运行时,是按Ctrl-Shift-B键或F5的一个简单的事情来调试的东西.人们可能会认为,这将有可能建立/与测试或QA的配置模式F5和得到测试/ QA的配置,但我看不出如何.它不受支持,或者我们是否需要改变我们处理事物的方式?
我们的另一个选择是使用简单的替换脚本作为预构建事件,从模板和密钥文件创建web.config,具体取决于配置模式.使用这种方法,你会得到测试配置,如果你在试验等编译,但感觉有点不好的推出我们自己的解决方案时,有内置到Visual Studio的功能.
我有一个应用程序,我正在使用存储过程和LINQ.我的程序看起来像这样:
myProc
select col1, Col2, Col3 from Tab1 inner join Tab2 on col1=ColA join tab3 on Col1=ColD
Select cola, Colb, Colc from Taba inner join Tabb on cola=ColX join tabc on Cola=ColY
Select colP, ColQ, ColR from TabP inner join TabQ on colP=ColW join tabR on ColP=ColZ
Run Code Online (Sandbox Code Playgroud)
我在LINQ中执行此存储过程.当我执行它时,我在IMultipleResults中得到结果.
下面是我在LINQ中的代码:
[Function(Name = "dbo.MyProc")]
[ResultType(typeof(TabA))]
[ResultType(typeof(TabB))] .....
public IMultipleResults GetMultipleResults([Parameter(DbType = "VarChar(50)")] string i_Cola)
{
IExecuteResult result = this.ExecuteMethodCall(this, ((MethodInfo)(MethodInfo.GetCurrentMethod())), i_Cola);
return (IMultipleResults)result.ReturnValue;
}
Run Code Online (Sandbox Code Playgroud)
当我按如下方式执行时:
MyContext mCtx = new MyContext()
var allResult …Run Code Online (Sandbox Code Playgroud) 我面临一个奇怪的问题.我的应用程序播放来自特定位置的电影,因此即使是以毫秒为单位提到的位置对我也很重要.我正在为媒体元素分配一个位置,但它显示错误的帧.我不知道为什么媒体播放器不会从我给出的位置上玩.
以下是一些示例代码:
TimeSpan oTimeSpan = TimeSpan.FromMilliseconds(16800200); // This shows 04:40:00.2000000
MediaPlayer.Position = oTimeSpan; // But after assigning, value is 04:40:00.1990000
Run Code Online (Sandbox Code Playgroud)
这是分配前后的屏幕截图:


谁能告诉我这里我做错了什么?
在我的Windows服务应用程序中,我经常使用计时器.我只使用System.Timers.我以前从未遇到过这个问题,但突然间我得到了这个例外:
System.ObjectDisposedException: Cannot access a disposed object.
at System.Threading.TimerBase.ChangeTimer(UInt32 dueTime, UInt32 period)
at System.Threading.Timer.Change(Int32 dueTime, Int32 period)
at System.Timers.Timer.UpdateTimer()
at System.Timers.Timer.set_Interval(Double value)
at MyApp.MySpace.MySpace2.MyClassWithTimer.MethodChangeTimerInterval()
Run Code Online (Sandbox Code Playgroud)
在我的方法中,我停止计时器,并更改计时器间隔.那是我得到例外的地方.
我已经阅读了一些关于这个bug的内容,但是即使在.NET 3.5中也存在这个bug仍然是可行的吗?
我如何解决它?我应该在停止后更新计时器对象并将间隔设置为新对象吗?我正在使用GC.KeepAlive(dataTimer);
编辑: 我发现了一些关于这个问题的其他问题:
*我找到了一个链接 http://www.kbalertz.com/kb_842793.aspx 基本上,一旦你停止计时器,内部System.Threading.Timer就可用于垃圾收集,有时会导致已发生的事件不发生,或者有时导致被处置的引用异常.虽然文章中没有描述,但我的解决方案是每次停止计时器时创建一个新的计时器并重新添加已用事件.效率不高但容易,对我而言不是处理器问题.这完全解决了我的问题.为所有回复的人喝彩.*
但我很困惑为什么这个bug仍然存在,我需要确保重新添加计时器是一个好主意...
导致错误的代码:
private void StartAsyncResponseTimer()
{
switch (_lastRequestType)
{
case 1:
asyncResponseTimer.Interval = 1000;
break;
case 2:
asyncResponseTimer.Interval = 2000;
break;
case 3:
asyncResponseTimer.Interval = 3000;
break;
default:
asyncResponseTimer.Interval = 10000;
break;
}
asyncResponseTimer.Start();
}
Run Code Online (Sandbox Code Playgroud)
函数是从SerialPortDataReceived事件调用的:
private void SerialPortDataReceived(object sender, EventArgs e)
{
StartAsyncResponseTimer();
}
Run Code Online (Sandbox Code Playgroud)
定时器在调用更改间隔之前停止.
Timer是我班级的私人领域: …
我有一个.NET MVC页面,其中包含每个都有<%: %>编码描述的项目列表
rel.我希望能够搜索rel包含我的搜索查询的所有项目.
其中一个字段具有htmlentities的值 rel='Décoration'
我在搜索框中输入"Décoration",让jQuery搜索具有'rel'属性的所有元素,其中包含(indexOf!= -1)该值:
没有结果!
为什么?因为Décoration != Décoration.
比较这两者的最佳解决方案是什么?(必须为所有特殊重音字符工作,而不仅仅是é)
PS(我尝试了逃避/ unescape双方,也尝试将其附加到div然后将其作为文本阅读,这取代了危险的东西,但不替换é(它没有必要因为它在utf-8无论如何))
我目前正在加载测试ASP.NET应用程序.我在应用程序上向500个用户收费,当它正在运行时,我在perfmon.exe控制台中检查Web服务器上的"Sessions Actives"和"Sessions Timed Out"计数器.
在我的web.config中,会话超时为3分钟(出于测试目的).
因此,当测试进行时,"Sessions Actives"计数器会保留大约900个活动会话,我认为这是正常的,因为有500个活跃用户和大约400个其他会话尚未超时的人.
但是当我看到"Session Timed Out"计数器时,它会逐渐增加.当负载测试完成时,它会逐渐下降.
这柜台究竟是什么?根据我的理解,它是尚未被清理的废弃会话(由垃圾收集器?)并且仍在使用内存.
由于我们的应用程序使用了大量的内存,我试图找到那个内存的确切位置.
如何使用Python将图像发布到Facebook?
我目前正在使用Visual Studio 2008中的ASP.NET网站项目,每次我对用户控件的页面后面的代码进行更改并浏览到使用用户控件的页面时出现以下错误:
无法将"ASP.basepage_master"类型的对象强制转换为"ASP.basepage_master".
我必须重建我的整个解决方案才能解决此错误.有没有其他人遇到此错误,他们知道如何解决它?
我是Android编程的新手,但是我很习惯使用SQLite数据库.
我的应用程序在SD卡上打开一个SQLite3数据库并运行一个相对复杂的查询(5个连接,1个子查询,2个where子句) SQLiteDatabase.rawQuery
public Cursor queryDataBase(String sql, String[] selectionArgs){
Cursor c = myDB.rawQuery(sql, selectionArgs);
return c;
}
Run Code Online (Sandbox Code Playgroud)SQL语句由硬编码提供String.
Steps: 155 , Sorts: 0, AutoIdx: 1077我没有使用主键,因此我也没有将任何内容重命名为"_id".
rawQuery的执行速度相对较快,执行时间约为2毫秒.
那我在这里错过了什么?我的手机800 MHz,2 GB RAM,MicroSD实际上可能慢了约120倍吗?
在第1页(first.aspx)中,我使用ColorBox来显示模型弹出窗口,其中我在其中显示另一个HTML页面(在HTML - AJAX之外).我想在第二页添加一个按钮,当用户点击该按钮时,我想关闭ColorBox.我应该采用什么方法?