我已经阅读了关于这个主题的其他几个问题(这里,这里,这里),但还没有看到一个很好的答案.我之前已经开发了我公平的数据访问层,并且个人更喜欢使用实例类而不是静态类.但是,它更多的是个人偏好(我喜欢测试我的业务对象,这种方法可以更容易地模拟DAL).我之前使用静态类来访问数据库,但我总是觉得这种设计的适当性有点不安全(特别是在ASP.NET环境中).
任何人都可以提供一些关于这两种方法的优点/缺点,特别是在ASP.NET应用程序中使用ADO.NET提供程序(无ORM)开发数据访问类.如果您有更一般的静态与实例类技巧,请随意加入.
特别是,我担心的问题是:
谢谢!
我很想知道分区通常是查询目标的数字列是否有性能优势.目前我有一个包含约5000万条记录的物化视图.当使用常规b树索引并通过此数字列进行搜索时,我得到的成本为7,查询结果的时间约为0.8秒(使用非准备缓存).为该列添加全局散列分区(具有64个分区)后,我得到的成本为6,查询结果大约为0.2秒(同样使用非预备缓存).
我的第一反应是分区索引提高了我的查询性能.但是,我意识到这可能只是一个巧合,可能完全取决于所搜索的值,或者其他我不知道的值.所以我的问题是:将一个全局散列分区添加到大型表上的数字列是否有性能优势,或者是确定要扫描出哪些索引分区的成本 - 只需对一个全范围扫描的成本进行加权非索引分区?
我确信这与许多Oracle问题一样,可以通过"它取决于"来回答.:)我有兴趣了解我应该考虑哪些因素来确定每种方法的好处.
谢谢!
我很难找到任何描述大型搜索表单的良好UI模式的资源.我有一个表格,需要20多个可能的输入,无法想出一个我感觉良好的设计(虽然在我的辩护中,我不是设计专家).在我的情况下,我正在寻找一个Web解决方案,但我想这个场景的UI模式可能与平台无关.
我看过像谷歌和亚马逊这样的网站(高级搜索),我想知道是否有更好的想法.有什么建议?
我已经创建了以下RESTful WCF服务,在VS中运行它时工作得很好.
[OperationContract]
[WebGet(ResponseFormat = WebMessageFormat.Json,
UriTemplate = "/sales/start={start}&end={end}")]
List<Sales> GetSalesByDate(string start, string end);
Run Code Online (Sandbox Code Playgroud)
但是,当将其部署到我的测试服务器(运行Win2K3和IIS6)时,我收到以下服务器错误:
合同'ISalesService'中的'GetSalesByDate'操作使用GET,但也有body参数'start'.GET操作不能有一个正文.将参数"start"设置为UriTemplate参数,或者从WebGetAttribute切换到WebInvokeAttribute.
显然我已经'开始'了一个UriParameter.所以有人能告诉我为什么会抛出异常吗?
编辑:作为参考,这是我的配置文件:
<?xml version="1.0"?>
<configuration>
<system.serviceModel>
<services>
<service name="Services.SalesService">
<endpoint behaviorConfiguration="webBehavior"
binding="webHttpBinding"
contract="Services.ISalesService"/>
</service>
</services>
<behaviors>
<endpointBehaviors>
<behavior name="webBehavior">
<webHttp/>
</behavior>
</endpointBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
Run Code Online (Sandbox Code Playgroud) 我想找到一个类似于SQL Server Profiler的Oracle工具,但粗略搜索并没有产生任何好结果.我只是想实时查看我的应用程序对数据库进行的查询.
有什么建议?
网页主要内容区域的宽度是否有标准最大值?我希望在不影响可用性的情况下最大化屏幕空间.我见过很多网站坚持980px或更低.有人有什么建议吗?
我刚刚开始使用Visual Studio数据库项目并喜欢我可以用它创建的数据生成计划.但是,在我的一个项目中,我需要使用特定值填充查找表.由于查找表和另一个表之间存在外键关系,因此如果不从计划中删除其他表,我无法从数据生成计划中删除查找表.但是后来我无法为另一个表生成任何数据.
我怎样才能a)指定生成器在向查找表添加数据时使用的确切数据,或者b)让生成器不向表中添加新值但是使用已存在的值?
谢谢!
我在我的类库中添加了一个XML文件作为嵌入式资源,方法是使用Visual Studio中的项目属性访问,然后使用Resources | 添加资源| 添加现有文件...
我试图使用以下代码访问该文件,但我不断返回null引用.有人有主意吗?
var path = Server.MapPath("~/bin/MyAssembly.dll");
var assembly = Assembly.LoadFile(path);
var stream = assembly.GetManifestResourceStream("MyNamespace.filename.xml");
Run Code Online (Sandbox Code Playgroud) 我是WPF的新手,所以希望我正确地表达了这个问题.我想做的是将我绑定<Image>到在线图像.但是,我想绑定的图像会根据应用程序的状态而变化.例如,如果我想绑定到从列表中选择的Employee,我将从我的App.config中检索一个基本URL,并使用该员工的ID附加图像名称,如下所示:
var baseUrl = ConfigurationSettings.AppSettings["BaseImageUrl"];
var imageUrl = String.Format("{0}/{1}.jpg", baseUrl, employeeID);
Run Code Online (Sandbox Code Playgroud)
问题是,我不确定如何在WPF中以声明方式执行此操作.任何帮助是极大的赞赏!
尝试将WCF测试客户端与我的WCF服务一起使用时出错.这是服务代码:
[ServiceContract]
public interface IEmployeeService
{
[OperationContract(Name = "GetEmployee")]
[WebGet(RequestFormat = WebMessageFormat.Xml,
UriTemplate = "/Employees/{employeeNumber}")]
Employee GetEmployee(string employeeNumber);
}
public Employee GetEmployee(string employeeNumber)
{
var employeeNumberValue = Convert.ToInt32(employeeNumber);
var employee = DataProvider.GetEmployee(employeeNumberValue);
return employee;
}
<system.serviceModel>
<services>
<service name="Employees.Services.EmployeeService"
behaviorConfiguration="metaBehavior">
<endpoint address=""
behaviorConfiguration="webHttp"
binding="webHttpBinding"
contract="Employees.Services.IEmployeeService">
</endpoint>
<endpoint address="mex"
binding="mexHttpBinding"
contract="IMetadataExchange">
</endpoint>
</service>
</services>
<behaviors>
<endpointBehaviors>
<behavior name="webHttp">
<webHttp/>
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="metaBehavior">
<serviceMetadata httpGetEnabled="true" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
Run Code Online (Sandbox Code Playgroud)
我能够使用WCF测试客户端连接到服务,但是当我尝试调用GetEmployee(employeeNumber)时,我收到以下错误:
无法调用该服务.可能的原因:服务离线或无法访问; 客户端配置与代理不匹配; 现有代理无效.有关更多详细信息,请参阅堆栈跟踪.您可以尝试通过启动新代理,还原到默认配置或刷新服务来进行恢复.
我能够通过从浏览器发送请求成功调用此服务.
知道为什么我不能使用WCF测试客户端吗?
asp.net ×2
c# ×2
oracle ×2
oracle10g ×2
rest ×2
wcf ×2
assemblies ×1
class-design ×1
data-binding ×1
image ×1
indexing ×1
partitioning ×1
performance ×1
resources ×1
search-form ×1
usability ×1
wcf-client ×1
web-services ×1
width ×1
wpf ×1