我有一堆现有的客户端/服务器应用程序正在进行中.偶尔,客户端会想要添加某种类型的Web界面来访问部分数据.这些通常是定制的,虽然有些是"通用的"; 但是每个人在自己的VM中都有自己的"实例".
我想要的是一个集中区域来捕获和记录任何这些VM上出现的任何错误.
我正在创建一个新数据库并设置一个WCF服务,以使这些Web应用程序能够在我的集中式数据库和本地EventLog中创建一个日志条目.
这是一个糟糕的设计吗?
更新
Web应用程序位于2003/IIS6和2008/IIS7中,内置于ASP.NET中.许多实例位于一对Web服务器上,但许多实例将部署到各个VM.
在请求之间保留数据的最标准或最佳方法是什么?
我应该使用cookie还是会话变量?我有兴趣保留排序顺序,排序列和页码(用于分页)等数据.
我来自webforms背景,所以通常这种类型的东西在我使用的控件的视图状态中自动处理.
更新
我喜欢查询字符串的想法,用于搜索和更有意义的URL; 但是,我正在开发一个"索引/列表"视图,它包含一个带有标题的视图和"控制"选项,比如用于过滤的DDL和用于呈现数据表的局部视图.
DDL使用a $.load()来调用控制器上的ActionResult,它返回部分视图,在查询字符串中传递参数,但由于这些是ajax请求,因此用户浏览器的主页面URL不会更新.
是否有一种最佳做法是从主页URL中取出查询字符串并在其他ActionResults的ajax请求中使用它们?
我正在使用以下代码从手机上的MediaLibrary中获取图片并调整其大小.在模拟器中,它工作正常,但是当我在真正的手机上试用它时它正在旋转-90度.
SaveJpeg的第4个参数是orientation,工具提示显示"此方法当前未使用此参数.使用值0作为占位符."
如果我传递0,1,-1则会发生同样的事情.看起来它实际上可能是在手机上而不是在模拟器中实现的,但我不知道该传递什么.
public byte[] GetPhoto(string photoName, int width, int height)
{
using (var ml = new Microsoft.Xna.Framework.Media.MediaLibrary())
{
using(Stream stream = (from p in ml.Pictures where p.Name == photoName select p).FirstOrDefault().GetImage())
{
//load the stream into a WriteableBitmap so it can be resized
using(MemoryStream outstream = new MemoryStream())
{
PictureDecoder.DecodeJpeg(stream).SaveJpeg(outstream, width, height, 0, 85);
return outstream.ToArray();
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
另外我只是注意到手机上的样本图片没有这个问题,只是我拍摄的那些.
我们的应用程序中有一个大型进程,每月运行一次.此过程通常在大约30分钟内运行,并生成342000左右的日志事件.最近我们使用WCF将日志记录更新为集中模型,现在性能有问题.以前的解决方案将在大约30分钟内完成,而新的日志记录现在需要3到4个小时.看起来问题是因为应用程序在执行继续之前实际上正在等待WCF请求完成.WCF方法已经配置为IsOneWay,我将客户端的调用包装到另一个线程中的WCF方法,以尝试防止此类问题,但它似乎没有工作.我已经考虑过使用异步WCF调用,但在我尝试其他东西之前想过我会问这里是否有更好的方法来处理它.
我有一个从WP7调用的服务.我知道WP7(Silverlight的)只支持basicHtptBinding直到今天,不幸的是它不支持会话,所以我不能在这个服务中使用InstanceContextMode.PerSession和SessionMode.Required.但我在服务器上有一些数据,我需要在会话的基础上保留它.我有什么选择?
我正在尝试将图像背景设置为沿整个网格重复.这是一个小图像,有一点随机噪声,以给它纹理.
目前这就是我正在做的事情:
<Grid.Background>
<ImageBrush ImageSource="Images/mainBg.png" Stretch="UniformToFill" />
</Grid.Background>
Run Code Online (Sandbox Code Playgroud)
但这会使图像爆炸并使噪音看起来很糟糕.我想让图像在X轴和Y轴上重复以填充它可以的空间.
这可能吗?
我正在尝试制作一个 C# 游戏。我想在其中包含 XNA 库(例如 Microsoft.XNA.Framework.Graphics)。但是,如果我这样做,我会收到错误:
类型或命名空间 XNA 不存在于命名空间 Microsoft 中。
有人可以帮忙吗?
我有Log和LogItem表; 我正在编写一个查询来从两者中获取一些数据.有成千上万,Logs每个Log可以有多达125LogItems
有问题的查询是复杂的,所以我正在跳过它(如果有人认为重要的是我可以发布它),但是当我运行SSMS估计查询计划时,它告诉我一个新的非聚集索引会将性能提高到100% .
Existing Index: Non-clustered
Key Colums (LogItem): ParentLogID, DateModified, Name, DatabaseModified
Query Plan Recommendation
CREATE NONCLUSTERED INDEX [LogReportIndex]
ON [dbo].[LogItem] ([ParentLogID],[DatabaseModified])
Run Code Online (Sandbox Code Playgroud)
只是为了好玩,我创建了这个新索引并运行了查询,令我惊讶的是,现在我的查询需要大约1秒才能运行,而不是10秒以上.
我假设我的现有索引将涵盖这个新查询,所以我的问题是为什么在我的新查询中使用的唯一列上创建新索引可以提高性能?我是否应该为我的where子句中使用的每个唯一列组合都有一个索引?
注意:我不认为这是因为SQL Server正在缓存我的结果,我在创建索引之前运行了大约25-30次查询并且它一直需要10-15秒,在索引之后它现在是一致的~1或更少.
我想用C#代码添加WP联系人列表的新联系人.但不能使用SaveContactTask或SavePhoneNumberTask等.
我想为WP联系人数据库添加高级联系人.如何访问Windows Phone的联系人数据库以保存我的联系人数据?
我知道Server.Transfer不会回程到请求客户端.
我无法学到的是,控制是否只是直接传递给您要传输的新请求处理程序,或者是否或者是否再次执行整个请求生命周期.
我假设使用传输URL再次执行整个生命周期,但想验证是这种情况.
c# ×6
asp.net ×2
logging ×2
wcf ×2
asp.net-mvc ×1
background ×1
cookies ×1
database ×1
exception ×1
image ×1
indexing ×1
libraries ×1
repeat ×1
session ×1
silverlight ×1
sql ×1
sql-server ×1
t-sql ×1
xaml ×1
xna ×1