在ASP.NET MVC2中我使用OutputCache和VaryByParam属性.我用一个参数就可以正常工作,但是当我在方法上有几个参数时,正确的语法是什么?
[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"作为值?
我有一个带有WCF服务的Visual Studio 2008解决方案和一个客户端.
当我运行我的客户端,并从我的服务中调用一个方法时,我收到一条消息"无法自动调试'Home.Service'.远程过程无法调试.这通常表示尚未在服务器上启用调试. "
我用Google搜索过,并尝试了以下内容.
<system.web>
<compilation debug="true" />
</system.web>
Run Code Online (Sandbox Code Playgroud)
已在客户端和服务器上的app.config中添加.
我还确保项目正在调试模式下编译.
还有什么可能导致这个消息?
编辑:根据反馈问题添加更多信息
我已经设定
<serviceDebug includeExceptionDetailInFaults="true"/>
Run Code Online (Sandbox Code Playgroud)我在用
var service = new HomeReference.HomeServiceClient();
service.ClientCredentials.Windows.ClientCredential = CredentialCache.DefaultNetworkCredentials;
Run Code Online (Sandbox Code Playgroud)不幸的是,第一次在我的服务上调用方法时出现错误.我可以关闭消息框,应用程序继续工作.服务器上抛出的任何异常都没有传播回客户端(我认为它应该?)
我编写了一个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) 使用时,MessageBox.Show()您可以选择MessageBoxButtons.可用的按钮是枚举,并为您提供"是否","确定取消"等选项.
例如,当我使用挪威语消息文本时,用户仍然会获得英语"是否".
有没有办法改变按钮的文本(在C#中),以便语言正确?我可以覆盖文本,或以某种方式设置当前的语言环境,以便我可以使用"Ja Nei"而不是"Yes No"吗?
我不想依赖在我的客户端安装.NET语言包.
我正在尝试使用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?
我正在尝试创建一个WPF应用程序,我可以在其中拖动图像.
目前我有一个图像放在窗口的中心,我正在考虑使用三个鼠标事件MouseDown,MouseMove和MouseUp来计算拖动图像时的新位置.
关于如何做到这一点还有其他好的想法吗?我是WPF的新手,所以我的思维方式仍然在Windows Forms世界中.
据我所知,我需要使用a才能获得绝对定位.
有人可以向我解释为什么在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)
我知道这是不好的做法,但不确定原因.
当我将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的情况下进行更新?
我已经在Azure中启动并运行ASP.NET REST API.从Visual中的旧.NET 4.5项目开始,我使用此菜单选项生成了一个客户端:
但是当我创建一个新的ASP.NET Core(ASP.NET 5)项目,并且想要生成客户端时,没有这样的选项:
在ASP.NET Core项目中为我的REST api生成客户端的预期方法是什么?
我正在尝试使用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# ×5
.net ×4
exception ×2
wcf ×2
wpf ×2
azure ×1
linq ×1
localization ×1
messagebox ×1
outputcache ×1
xaml ×1