有没有人有处理公司资产的建议?服务器,交换机,电话,监视器,办公桌,Blackberrys,软件等.您如何设计数据库来处理这些不同类型的资产,而不会在数据库设计中过于模糊或过于精确?
例如,如果我有一个物理资产标记的字段,您将放置在一个对象上,我将如何处理下载的软件?如果我想跟踪机器名称但我不想给桌面提供机器名称怎么办?这些不同类型的资产正在让我失望.
我收到这个错误,这让我感到困扰.我不知道发生了什么......我已按照T的说明进行操作,但仍在抱怨 - 请帮助!我有错误消息,控制器文件,登录页面和路由文件的摘录.
NoMethodError in User_sessions#new
Showing app/views/user_sessions/new.html.erb where line #4 raised:
undefined method `user_sessions_path' for #<ActionView::Base:0x1fe766f>
Run Code Online (Sandbox Code Playgroud)
提取的来源(第4行):
4. <% form_for @user_session do |f| %>
5. <%= f.error_messages %>
Run Code Online (Sandbox Code Playgroud)
class UserSessionsController < ApplicationController
before_filter :require_no_user, :only => [:new, :create]
before_filter :require_user, :only => :destroy
def new
@user_session = UserSession.new
end
def create
@user_session = UserSession.new(params[:user_session])
if @user_session.save
flash[:notice] = "Login successful!"
redirect_to root_url
#redirect_back_or_default account_url
else
render :action => :new
end
end
def destroy
current_user_session.destroy …
Run Code Online (Sandbox Code Playgroud) 我只是想知道是否有办法使用通配符清除memcache的键值.
所以说我有一个带有"1234~foo"键和另一个"1234~foo~bar"的缓存.
有什么方法我可以通过使用像clear("1234*")这样的东西来清除缓存并从上面清除它们吗?
我希望这是有道理的.
谢谢.
我的孩子UpdatePanel更新其内容及其父UpdatePanel的内容.
<asp:UpdatePanel ID="UpdatePanel1"
runat="server">
...
<asp:UpdatePanel ID="UpdatePanel2"
runat="server">
...
</asp:UpdatePanel>
...
</asp:UpdatePanel>
Run Code Online (Sandbox Code Playgroud)
我不希望每次子更新时都更新我的父UpdatePanel.
我有一个方法,目前Func<Product, string>
作为一个参数,但我需要它作为一个Expression<Func<Product, string>>
.使用AdventureWorks,这是我想用Func做的一个例子.
private static void DoSomethingWithFunc(Func<Product, string> myFunc)
{
using (AdventureWorksDataContext db = new AdventureWorksDataContext())
{
var result = db.Products.GroupBy(product => new
{
SubCategoryName = myFunc(product),
ProductNumber = product.ProductNumber
});
}
}
Run Code Online (Sandbox Code Playgroud)
我希望它看起来像这样:
private static void DoSomethingWithExpression(Expression<Func<Product, string>> myExpression)
{
using (AdventureWorksDataContext db = new AdventureWorksDataContext())
{
var result = db.Products.GroupBy(product => new
{
SubCategoryName = myExpression(product),
ProductNumber = product.ProductNumber
});
}
}
Run Code Online (Sandbox Code Playgroud)
但是,我遇到的问题myExpression(product)
是无效(不会编译).阅读其他一些帖子后,我理解为什么.如果不是因为我需要product
变量用于我的密钥的第二部分,我可能会说这样的事情:
var result = db.Products.GroupBy(myExpression);
Run Code Online (Sandbox Code Playgroud)
但我确实需要product
变量,因为我确实需要密钥的第二部分(ProductNumber).所以我现在不确定要做什么.我不能把它当成Func,因为这会导致问题.我无法弄清楚如何使用Expression,因为我没有看到如何将 …
我正试图在我的WordPress博客上发布一些代码片段,但是当我复制并粘贴时,它会从每行代码中删除所有前导空格.一般来说,领先的空间似乎没有问题,因为我可以手动添加它们,但它不喜欢它们被粘贴在任何原因.
是否有一些我可以使用的插件,或者我可以做一些简单的代码修改,让它接受我粘贴的代码而不试图为我格式化它?
我正在尝试创建一个MJPEG流,我有一系列jpeg,我想将它们组合成一个流,以便用户只需点击一个URL并获得一个mjpeg流.过去几天我一直在努力让它发挥作用,而且可能是不可能的.我提起了空灵,并听取了网上某个轴摄像头的数据包,并试图模仿它.我最初尝试使用WCF,并返回"流"但后来发现我需要在该流上设置内容类型,因此我尝试了WCF REST api,但是这也遇到了同样的问题.所以我现在只是使用一个简单的HTTPListener,并处理事件.我更喜欢使用WCF,但我不确定它是否允许我返回具有正确内容类型的流.所以这就是我对httpListener的看法.
在监听器回调的处理程序中我把以下内容.
HttpListenerResponse response = context.Response;
response.ProtocolVersion = new System.Version(1, 0);
response.StatusCode = 200;
response.StatusDescription = "OK";
response.ContentType = "multipart/x-mixed-replace;boundary=" + BOUNDARY + "\r\n";
System.IO.Stream output = response.OutputStream;
Render(output);
Run Code Online (Sandbox Code Playgroud)
Render方法看起来像这样
var writer = new StreamWriter(st);
writer.Write("--" + BOUNDARY + "\r\n");
while (true)
{
for (int i = 0; i < imageset.Length; i++)
{
var resource = Properties.Resources.ResourceManager.GetObject(imageset[i]) as Bitmap;
var memStream = new MemoryStream();
resource.Save(memStream,ImageFormat.Jpeg);
byte[] imgBinaryData = memStream.ToArray();
string s = Convert.ToBase64String(imgBinaryData);
writer.Write("Content-type: image/jpeg\r\n");
foreach (var s1 …
Run Code Online (Sandbox Code Playgroud) 我是正确的测试驱动设计或行为驱动设计的忠实拥护者,我喜欢编写测试.但是,我一直把自己编码到一个角落里,我需要在一个特定的测试用例中使用3-5个模拟进行单个类.无论我从哪个方向开始,自上而下或自下而上,我最终都需要一个至少需要三个来自最高抽象级别的合作者的设计.
有人可以就如何避免这个陷阱给出好的建议吗?
这是一个典型的场景.我设计了一个Widget,它从给定的文本值生成一个Midget.在我深入了解细节之前,它始终非常简单.我的Widget必须与几个难以测试的东西进行交互,比如文件系统,数据库和网络.
所以,不是将所有内容都设计到我的Widget中,而是制作一个Bridget合作者.Bridget负责处理复杂性,数据库和网络的一半,使我能够专注于另一半的多媒体演示.那么,我制作了一个执行多媒体作品的Gidget.整个事情需要在后台发生,所以现在我包含了一个Thridget来实现这一点.完成所有操作后,我最终得到了一个Widget,它可以将工作交给Thridget,后者通过一个Bridget来讨论将其结果发送给Gidget.
因为我在CocoaTouch中工作并试图避免模拟对象,所以我使用自分流模式,其中协作者的抽象成为我的测试采用的协议.有3个以上的合作者,我的测试气球变得太复杂了.即使使用像OCMock模拟对象这样的东西,也会给我一个复杂的顺序,我宁愿避免.我试着把我的大脑缠绕在一个菊花链的合作者身上(一个委托给B的代表,他代表C等等),但我无法想象它.
编辑 从下面举一个例子,假设我们有一个必须从套接字读/写并呈现返回的电影数据的对象.
//Assume myRequest is a String param...
InputStream aIn = aSocket.getInputStram();
OutputStream aOut = aSocket.getOutputStram();
DataProcessor aProcessor = ...;
// This gets broken into a "Network" collaborator.
for(stuff in myRequest.charArray()) aOut.write(stuff);
Object Data = aIn.read(); // Simplified read
//This is our second collaborator
aProcessor.process(Data);
Run Code Online (Sandbox Code Playgroud)
现在上面显然处理网络延迟,所以它必须是Threaded.这引入了一个Thread抽象,使我们脱离了线程单元测试的实践.我们现在有
AsynchronousWorker myworker = getWorker(); //here's our third collaborator
worker.doThisWork( new WorkRequest() {
//Assume myRequest is a String param...
DataProcessor aProcessor = ...;
// Use our "Network" collaborator.
NetworkHandler networkHandler …
Run Code Online (Sandbox Code Playgroud) .net ×2
ajax ×1
asp.net ×1
asp.net-ajax ×1
branch ×1
c# ×1
cookies ×1
cvs ×1
filesize ×1
formatting ×1
http ×1
javascript ×1
jpeg ×1
linq-to-sql ×1
memcached ×1
mjpeg ×1
mocking ×1
plugins ×1
streaming ×1
tdd ×1
unit-testing ×1
updatepanel ×1
video ×1
wordpress ×1