我们在源代码管理(TFS)下的各种项目中使用配置文件,每个开发人员必须在其本地副本中进行一些调整以配置其环境.构建过程负责将配置文件替换为服务器配置作为部署的一部分,因此实际上并不重要的是存储库中的内容.但是,我们无论如何都希望在存储库中保留某种默认的非破坏版本的配置文件,以便例如不参与特定项目的人不会因为本地配置错误而遇到麻烦.
我们尝试通过引入仅禁止签入配置文件的签入策略来解决此问题.这样可以正常工作,但仅仅因为我们懒得总是在挂起的更改窗口中取消选中这些复选框,问题就出现了:是否可以透明地禁用特定文件的签入,而不会使它们不受源代码控制(例如锁定它们)当前版本) ?
在各种场景中使用简单的 DTO 时,我经常遇到同样的问题,我一直想知道是否有更好的方法来处理它。
问题是,我有一个业务对象,例如Asset它有一堆属性、子对象和计算字段,其中一些在时间意义上计算成本很高,其中一些在数据量意义上巨大。我需要在 UI 的各种屏幕中使用这个对象的不同风格,例如
为了能够在这种情况下实现最佳性能,我总是为每个上下文创建不同的 DTO,只包含在该上下文中实际使用的信息子集。虽然是资源优化的解决方案,但这会导致几个问题:
AssetDtoForGridInTheOverviewScreenInTheUpperPaneAboveTheSplitter更不用说以后维护它们了我使用的技术是 ASP.NET SOAP WebServices 和 C# 3.5,但我认为这可能是一个与语言无关的问题。欢迎任何想法..
我一直在努力解决用户点击产生AJAX请求的网站上的情况,例如在响应到来时会产生一些视觉效果.有时候用户不会等到请求完成(尽管他看到一个加载指示符)并开始点击疯狂的其他元素.因为原则上我不能也不想禁用这种可能性,我已经尝试(或多或少成功)确保在任何时候触发新请求,前一个请求被中止(客户端)并且其处理程序不再被叫 - 无论哪个请求最后获胜.
虽然在客户端有些成功,但我现在想知道是否有某种方法来模拟服务器上的类似行为.由于我无法真正杀死先前的请求,只能断开它,它仍将运行到最后并消耗宝贵的资源.如果用户点击了20个元素,他将只看到最后一个请求的结果,但是在服务器上仍然会有20个请求浪费CPU做无用的工作.
有没有办法在ASP.NET/IIS中为同一资源的多个请求实现最后的策略?我猜这些请求无论如何都是在内部排队的,当我试图将下一个请求出列时,我需要的是IIS,只需看看是否有其他的,只提供来自同一会话的最后一个.
我想将我的 Web 应用程序的资源文件(包含标签文本等)存储在数据库中,以便以后能够动态编辑和创建它们(可能在 UI 中)。我的想法是将整个resx文件存储在一个 xml 列中,并根据需要简单地加载它——这取决于当前用户登录应用程序或切换上下文时的语言和其他一些属性。重要的是,资源不仅依赖于用户的文化信息,还依赖于一些上下文信息,用户无需注销和重新登录即可切换(在我们的例子中称为“组”,无事可做与一组用户)。
是否有可能以某种方式从外部源加载资源的内容并简单地切换它们而无需服务器重新编译 Web 应用程序?我知道有一些接口可以连接并实现一个自定义资源提供程序,它直接从数据库中读取,但如果它可以以某种方式与 resx 文件一起工作,它可能会让事情变得更容易..
我的.NET应用程序有不同版本的dll,大多数时候我想使用最新版本的dll.但是,有一种方法我在一个单独的线程上运行,我需要能够根据某些条件选择较旧版本的dll.
我已经知道不可能只加载一个程序集然后在默认的应用程序域中卸载它(我不能只保持两个版本都加载,因为那时我遇到了类型问题的重复定义)
可能我必须创建一个单独的AppDomain,在那里加载程序集然后卸载它.此应用程序域将在单独的线程上执行一个方法,并且可以使用该库的不同版本.
你认为这是一个好方法/你有更好的想法/你能指出一些能让我入手的资源吗?
非常感谢 ;)
当我尝试在包含网站的Visual Studio(2010 SP1)中构建我的解决方案时,我得到以下有趣的错误.
------ Build started: Project: C:\...\Web\, Configuration: Debug Any CPU ------
Validating Web Site
: Build (web): Illegal characters in path.
Validation Complete
Run Code Online (Sandbox Code Playgroud)
即使构建详细程度设置为诊断,也没有任何其他信息.我试图删除我能找到的所有临时文件,重新启动我能做的一切.我甚至从头开始重新获取我的整个svn文件夹并重建..错误仍然存在.然后,相当随机,错误消失了.现在,大约一天后,它回来了.
我正在开发游戏,但是我对关卡的初始化有问题.(feld只是德语字段)
class level{
private:
feld spielfeld[10][10];
public:
/*
other stuff
*/
void init_feld();
};
void level::init_feld()
{
for(int i=0;i!=10;i++){
for(int n=0;n!=10;n++){
spielfeld[i][n] = new feld(land, i, n);
}
}
}
Run Code Online (Sandbox Code Playgroud)
错误:
错误:不对应的»操作员=«在»((水平*)此) - >级::施皮尔费尔德[I] [N] =(操作者新的(24U),(((费尔德*))))«/家用/尼克/西洋陆军棋/ feld.h:18:11:
备注:候选者是:feld&feld :: operator =(const feld&)进程终止,状态为1(0分,0秒)2个错误,0个警告