小编Fro*_*rud的帖子

如何将VaryByParam与多个参数一起使用?

在ASP.NET MVC2中我使用OutputCacheVaryByParam属性.我用一个参数就可以正常工作,但是当我在方法上有几个参数时,正确的语法是什么?

[OutputCache(Duration=30, VaryByParam = "customerId"]
public ActionResult Index(int customerId)
{
//I've got this one under control, since it only has one parameter
}

[OutputCache(Duration=30, VaryByParam = "customerId"]
public ActionResult Index(int customerId, int languageId)
{
//What is the correct syntax for VaryByParam now that I have a second parameter?
}
Run Code Online (Sandbox Code Playgroud)

如何使用这两个参数来缓存页面?我输入两次添加属性吗?或者写"customerId,languageId"作为值?

outputcache asp.net-mvc-2

102
推荐指数
1
解决办法
5万
查看次数

无法调试WCF服务消息

我有一个带有WCF服务的Visual Studio 2008解决方案和一个客户端.

当我运行我的客户端,并从我的服务中调用一个方法时,我收到一条消息"无法自动调试'Home.Service'.远程过程无法调试.这通常表示尚未在服务器上启用调试. "

我用Google搜索过,并尝试了以下内容.

<system.web>
   <compilation debug="true" />
</system.web>
Run Code Online (Sandbox Code Playgroud)

已在客户端和服务器上的app.config中添加.

我还确保项目正在调试模式下编译.

还有什么可能导致这个消息?

编辑:根据反馈问题添加更多信息

不幸的是,第一次在我的服务上调用方法时出现错误.我可以关闭消息框,应用程序继续工作.服务器上抛出的任何异常都没有传播回客户端(我认为它应该?)

wcf visual-studio-2008

31
推荐指数
4
解决办法
4万
查看次数

在运行时添加WPF控件

我编写了一个WPF UserControl,并希望在单击按钮时在运行时将一个或多个添加到我的Window中.我怎样才能做到这一点?

编辑:进一步说明我想将usercontrols添加到Canvas,并放入绝对位置.画布是我家中楼层的图纸,每个用户控件都有属性,用于指示房屋的位置.所以我希望所有控件都放在画布上的正确位置.

我在想这样的事情

var light = new LightUserControl(2);
HouseCanvas.Children.Add(light); // this should be positioned in a specific place
Run Code Online (Sandbox Code Playgroud)

wpf

29
推荐指数
2
解决办法
7万
查看次数

MessageBox按钮 - 设置语言?

使用时,MessageBox.Show()您可以选择MessageBoxButtons.可用的按钮是枚举,并为您提供"是否","确定取消"等选项.

例如,当我使用挪威语消息文本时,用户仍然会获得英语"是否".

有没有办法改变按钮的文本(在C#中),以便语言正确?我可以覆盖文本,或以某种方式设置当前的语言环境,以便我可以使用"Ja Nei"而不是"Yes No"吗?

我不想依赖在我的客户端安装.NET语言包.

.net c# localization messagebox

21
推荐指数
2
解决办法
3万
查看次数

在WCF服务中传递接口?

我正在尝试使用WCF服务,并且遇到了传递接口的问题.

这有效:

[ServiceContract]
public interface IHomeService
{
    [OperationContract]
    string GetString();
}
Run Code Online (Sandbox Code Playgroud)

但这不是:

[ServiceContract]
public interface IHomeService
{
    [OperationContract]
    IDevice GetInterface();
}
Run Code Online (Sandbox Code Playgroud)

当我尝试编译客户端时,它在GetInterface方法上失败.我得到一个异常,说它无法将Object转换为IDevice.

在客户端上,IHomeService类正确地使用字符串实现GetString,因为它是返回类型,但GetInterface具有返回类型的对象.为什么不是IDevice?

.net c# wcf

19
推荐指数
2
解决办法
1万
查看次数

在WPF中拖动图像

我正在尝试创建一个WPF应用程序,我可以在其中拖动图像.

目前我有一个图像放在窗口的中心,我正在考虑使用三个鼠标事件MouseDown,MouseMove和MouseUp来计算拖动图像时的新位置.

关于如何做到这一点还有其他好的想法吗?我是WPF的新手,所以我的思维方式仍然在Windows Forms世界中.

据我所知,我需要使用a才能获得绝对定位.

.net wpf user-interface

17
推荐指数
1
解决办法
1万
查看次数

为什么main()中的try-catch不好?

有人可以向我解释为什么在main()方法中有一个try-catch来捕获任何未处理的异常是不合适的吗?

[STAThread]
static void Main()
{
    try
    {
        Application.Run(new Form1());
    }
    catch (Exception e)
    {
         MessageBox.Show("General error: " + e.ToString());
    }
}
Run Code Online (Sandbox Code Playgroud)

我知道这是不好的做法,但不确定原因.

c# exception

17
推荐指数
6
解决办法
7159
查看次数

过滤ObservableCollection?

当我将ListBox直接绑定到ObservableCollection时,我得到了我的ListBox中显示的实时更新,但是只要我在混合中添加其他LINQ方法,我的ListBox就不会再通知ObservableCollection的任何更改.

在这里,让我举一个例子来说明;

public partial class MainPage : PhoneApplicationPage
{
    ObservableCollection<String> Words = new ObservableCollection<string>();

    public MainPage()
    {
        InitializeComponent();
        listBox1.ItemsSource = Words;
    }

    private void AddButton_Click(object sender, RoutedEventArgs e)
    {
        Words.Add(DateTime.Now.ToString());
    }
}
Run Code Online (Sandbox Code Playgroud)

在这里,我向一个简单的页面添加了一个Button和一个ListBox,然后单击该按钮使新项目立即出现在ListBox中.

但是,如果我改变了

        listBox1.ItemsSource = Words;
Run Code Online (Sandbox Code Playgroud)

        listBox1.ItemsSource = Words.Where(w => w.Contains(":"));
Run Code Online (Sandbox Code Playgroud)

ListBox不再更新.

如何在我的ObservableCollection和ListBox之间添加"过滤器",并且仍然可以在不必再次设置.ItemsSource的情况下进行更新?

c# linq xaml observablecollection windows-phone-7

12
推荐指数
2
解决办法
2万
查看次数

Visual Studio for ASP.NET Core项目中的"REST API Client"选项?

我已经在Azure中启动并运行ASP.NET REST API.从Visual中的旧.NET 4.5项目开始,我使用此菜单选项生成了一个客户端:

旧的.NET 4.5项目

但是当我创建一个新的ASP.NET Core(ASP.NET 5)项目,并且想要生成客户端时,没有这样的选项:

新的ASP.NET核心项目

在ASP.NET Core项目中为我的REST api生成客户端的预期方法是什么?

.net azure asp.net-web-api

12
推荐指数
1
解决办法
1万
查看次数

"使用WebRequest无法确定URI的格式"

我正在尝试使用C#中的WebRequest对站点执行POST.我发布的网站是一个SMS站点,而messagetext是URL的一部分.为了避免URL中的空格,我正在调用HttpUtility.Encode()来对其进行URL编码.

但我不断收到URIFormatException - "无效的URI:无法确定URI的格式" - 当我使用类似于此的代码时:

string url = "http://www.stackoverflow.com?question=a sentence with spaces";
string encoded = HttpUtility.UrlEncode(url);

WebRequest r = WebRequest.Create(encoded);
r.Method = "POST";
r.ContentLength = encoded.Length;
WebResponse response = r.GetResponse();
Run Code Online (Sandbox Code Playgroud)

当我调用WebRequest.Create()时会发生异常.

我究竟做错了什么?

c# exception httpwebrequest

11
推荐指数
1
解决办法
3万
查看次数