http://caliburnmicro.com上的Caliburn.Micro主页提出了以下声明,但是我无法使用我从这个示例中可以想到的任何变体使用CMBox控件.不管怎么说这都不会起作用,因为这些名字并不相同.有没有人有CM示例允许我获得PasswordBox的值?是否需要特定版本的CM?我正在运行CM的1.5.2版本.理想情况下不使用附加属性,但如果可以使用CM,那么唯一的方法就好了.请不要在安全问题上讲课,因为这不是我的问题.
使用参数和保护方法自动在视图和视图模型之间应用方法
<StackPanel>
<TextBox x:Name="Username" />
<PasswordBox x:Name="Password" />
<Button x:Name="Login" Content="Log in" />
</StackPanel>
Run Code Online (Sandbox Code Playgroud)
public bool CanLogin(string username, string password)
{
return !String.IsNullOrEmpty(username) && !String.IsNullOrEmpty(password);
}
public string Login(string username, string password)
{
...
}
Run Code Online (Sandbox Code Playgroud) 我有一台家用机器和办公机器用于使用Visual Studio 2013发布网站.如果我从同一台机器进行更改并重新发布,则只发布更改,而不是所有文件.
但是,当在办公室使用我的克隆机时,即使我做了最新的,做了一个小改动,然后重新发布,所有文件都被发布,而不仅仅是那些已经改变的文件,而不仅仅是已经重新编译的文件. .所有dll文件,甚至是未更改或已使用新日期重新编译的第三方dll都将重新发布.如果我的队列在我上次发布后在他的机器上发布了一个小变化,那么同样的事情就会发生.如果从同一台机器发布两次,则只会发布已更改的文件,这不是问题.
反正是因为使用不同的机器发布而不是上次发布的机器来阻止完全重新发布?谢谢.
我可以使用SetBuffer和SocketAsyncEventArgs就好了.
如果我尝试使用BufferList(在执行SetBuffer(null,0,0)之后),当我在套接字上执行SendAsync时,我总是立即得到SocketError InvalidArgument(10022).
关于如何使用BufferList没有任何示例或文档,我正在做的事情是有意义的(无论如何).
有人可以指出一个示例程序或代码片段吗?
我正在把头发撕掉,剩下的不多了......
这基本上是我在做什么(e是SocketAsyncEventArgs和lSocket是我用于SetBuffer的相同套接字,它有效)
// null the buffer since we will use a buffer list
e.SetBuffer(null, 0, 0);
// create a bufferlist
e.BufferList = new List<ArraySegment<byte>>();
// create the bufferlist with the network header and the response bytes
e.BufferList.Add(new ArraySegment<byte>(lTxBytes)); // add the 4 character total length
e.BufferList.Add(new ArraySegment<byte>(Encoding.ASCII.GetBytes(lTx.Identity))); // echo back the incoming sequence number
e.BufferList.Add(new ArraySegment<byte>(Encoding.ASCII.GetBytes(lResponse)));
// *** the SendAsync always completes IMMEDIATELY (returns false) gets SocketError InvalidArgument (10022)
if (lSocket.SendAsync(e) == false)
{
// …Run Code Online (Sandbox Code Playgroud) 我的Win7 x64桌面上有VS2013 Universal Update2,我正在尝试调试需要在服务器上运行的进程,因此在我的Windows 2008 R2 x64服务器上安装了visual studio 2013远程调试监视器(x64 Update2版本).然后修改本地VS2013项目以使用远程调试指定远程计算机名称和C:\ RemoteDebug工作目录文件夹.让我感到惊讶的是,工作目录文件夹在本地机器上实际上是必需的,否则我得到了它丢失的投诉,现在,我得到了错误
"Error while trying to run the project: Unable to start the program '<MyLocalTfsPath>\<MyProgram>.exe'. The system cannot find the file specified."
我的本地可执行文件位于提到的路径上.远程监视器已启动并告诉我已连接每个调试尝试,因此这不是连接问题.在我看来,本地与远程文件夹位置与我对此新更新(方案1)的期望相反.我知道旧的远程调试(方案2)使用"启动外部程序"链接到本地机器上的文件,但似乎VS2013 Update 2增强了这个和这个doc
http://msdn.microsoft.com/en-us/library/8x6by8d2.aspx#BKMK_Set_up_a_Visual_C__Visual_Basic_project
意味着它将在远程机器上发布文件并像往常一样执行"启动项目".目前我无法测试方案2,因为我使用OpenVPN进行连接,而我的服务器没有直接看到我的本地桌面.所以我希望让场景1在VS2013进行某种发布的地方工作.使用VS2013 Update 2,哪些文件和文件夹放在哪里,我或VS2013将它们放在那里?我是否了解VS2013 Update 2在远程调试方面提供的内容?
我有一个Windows 64位系统和一个C#应用程序,它使用OleDbConnection通过32位版本的AccessDatabaseEngine.exe COMponents读取Excel数据,因为我安装了Office 32bit(由MSFT推荐),并且64位版本的AccessDatabaseEngine不起作用与32位Office.
为了使我的C#应用程序正常工作,我不得不在项目构建设置中设置"首选32位".这将设置编译器/平台anycpu32bitpreferred标志.在英特尔平台上没有"首选".
所以一切都运行良好.在我的机器上.不是我老板的64位机器,他安装了64位Office.
我找不到任何强制64位的app.config选项.有吗?理论上在.NET加载序列中是否可能存在一个?
MSFT没有想到这一点.我应该能够以某种方式构建一个可以与32位和64位版本的Office一起使用的应用程序.我可以以某种方式使用OleDbConnection吗?
我知道CorFlags.exe/32bitpref-标志,但这需要维护两个版本的二进制文件.
有任何想法吗?修复?App.Config选项?
实际上是否有通过 EF6.1 Code First 创建和使用视图的官方策略?我可以将数据库反转为 Code First 并获取表而不是视图。我可以将数据库导入到模型中并获取视图,然后从模型生成数据库,然后修改我的 edmx 并将视图转换为表。MSFT 似乎几乎放弃了 Model First,而新的 Update 2 似乎对 Code First 进行了逆向工程,因此我觉得被迫转换为 Code First,但 EF 团队是否支持任何合理的方法来使用视图或存储过程代码优先?毕竟 CF 应该创建数据库,但是什么 - 您不再应该在 .NET EF 应用程序中使用这些 SQL Server 功能中的任何一个吗?
我在ShellView中有一个顶级菜单,当选择子MenuItem时,我想在ShellViewModel(Conductor.Collection.AllActive)上调用以下方法.
public void SelectServer(string pServerName)
{
mDefaultClaimServer = pServerName;
}
Run Code Online (Sandbox Code Playgroud)
以下不起作用,因为没有方法被调用(我已经尝试了各种签名和动作参数) -
<Menu Name="menu1" DockPanel.Dock="Top">
<MenuItem Header="Select Server" Name="ClaimServers">
<MenuItem.ItemTemplate>
<DataTemplate>
<!-- we need this else we show the class name -->
<TextBlock Text="{Binding DisplayName}">
<ContentControl cal:Message.Attach="[Event Click] = [Action TxTester.ShellViewModel.SelectServer($Text)]"/>
</TextBlock>
</DataTemplate>
</MenuItem.ItemTemplate>
</MenuItem>
</Menu>
Run Code Online (Sandbox Code Playgroud)
以下确实调用了ShellViewModel SelectServer方法,但是对于单击的子MenuItem的文本我得到null(我还尝试了许多其他签名和操作参数) -
<Menu Name="menu1" DockPanel.Dock="Top">
<MenuItem Header="Select Server" Name="ClaimServers" cal:Message.Attach="SelectServer($this.Text)">
<MenuItem.ItemTemplate>
<DataTemplate>
<!-- we need this else we show the class name -->
<TextBlock Text="{Binding DisplayName}" />
</DataTemplate>
</MenuItem.ItemTemplate>
</MenuItem>
</Menu>
Run Code Online (Sandbox Code Playgroud)
很长一段时间我一直在苦苦挣扎,无法弄明白.有人可以建议正确的组合,我可以将子MenuItem的标题文本传递给ShellViewModel SelectServer方法吗?
.net ×2
c# ×2
32bit-64bit ×1
menuitem ×1
ms-office ×1
passwordbox ×1
publish ×1
system.net ×1
view ×1
web ×1