I am using couchbase database for Asp.Net application. I have never found a code to push attachments on couchbase using .Net api of couchbase.
I have found some code in android like for the same requirements but i am unable in .Net SDK.
I am using couchbase .Net SDK 2.0.
thanks in advance.
The Couchbase .NET 2.0 SDK does not support attachments like that of the Couchbase Lite/Mobile. This functionality is a carry-over from CouchDb and Couchbase Server itself does not support attachments.
You have a few options in Couchbase to handle binary data:
you can serialise the binary content and and add to the document as you would any other string value
You can also save the "attachment" under a separate key and store the content as binary.
The benefit of option 2 is that you will not have the added overhead of the serialisation (roughly adds +30% to the size)
If you chose a smart key name strategy this can be done very elegant:
key for the main document: doc1
key for attachment: doc1::attachment::1
I hope this helps
Related
I need to make a Windows Store application that exchanges xml serialized data over a TCP connection with a server. Since I need to use Direct3D rendering in the application I went for the c++/cx store application template however I ran into issues with xml serialization/deserialization.
My usual approach in C# would be to use the XmlSerializer and classes with DataContractAttribute annotations. However as soon as I try to import System.Xml.Serialization assembly I get the C1114 error - WinRT does not support #using of a managed assembly. However there are lots of examples that mention using this approach in a Windows Phone app from C#.
So the question is - is only c++/cx limited in support for .NET in Windows Store applications and C# can use all the standard components on phone as well or is switching to C# in this case also not a solution and I need to use the WinRT classes for xml serialization/deserialization?
Your confusion is understandable, what with the variety of frameworks Microsoft has put out there.
C++/Cx is a native binding to the Windows Runtime (WinRT). It does not use any managed code or the .NET framework in any way, which is why you're getting the C1114 error.
C# provides a managed binding to WinRT. It does leverage the .NET framework, so in a C# Windows Store application, you can make use of some of the base-class library. This subset is referred to as the .NET Profile. This article talks about this more: http://blogs.msdn.com/b/dotnet/archive/2012/04/17/net-for-metro-style-apps.aspx
In your specific case, you are using a C++/Cx application because you want access to Direct3D. This makes sense, although it means that you will not have access to System.Xml.Serialization. Instead, as you surmised, you will need to use APIs that are available to C++/Cx to read XML, specifically Windows.Data.Xml.Dom: https://msdn.microsoft.com/en-us/library/windows/apps/windows.data.xml.dom.aspx
I am asking a very basic question here.
Question is
I am using Apache Sling , Apache Jackrabbit, Apache Felix in my project as said by my instructor. I am trying to understand why these software is developed by Apache. I tried a lot on the internet,, but I didn't find any blog or wordpress blog, or any useful youtube video that explain all these projects. Can you explain me about these projects.
Why these projects developed?
What they do ?
and more questions like this
Previously I found the same doubt with Apache Hadoop, but all the material that I found on net is sufficient for me to get a feel of this project. This time I am struggling with Sling, Felix, Jackrabbit.
I will be very thankful for you. Waiting for your kind response.
The combination of Apache Jackrabbit, Apache Sling, and Apache Felix allows you to build web application.
Apache Jackrabbit is the reference implementation of the JCR API. The JCR API is to manage content repositories; to manage, for example, web content. A content repository is a mix between file system and a database.
The JCR API is specially made to deal with web content. Why use the JCR API, and why not use a relational database API? URLs are hierarchical, as in a file system. Relational databases don't easily support hierarchical access. Why not use a file system API? Because the JCR supports transactions, versioning, and a lot of other features that file system APIs don't support.
Apache Sling is a web framework based on the JCR API, and taking advantage of the features provided by the JCR API (15 Minute introduction).
Apache Felix is an OSGi container. It allows to seamlessly start, stop, and replace components of a web application (jar files, in a sense), while the web server is running. That means it allows you to change the application without having to restart the server.
Sling in very simple terms could be described as a REST API for JCR. you can use http requests to manage content inside the repository.
Additionally, Sling provides a mechanism to render that content in different ways for web consumption. you can use scripts (JSP for example) and the java code (servlets, pojos, etc) in the Felix container to process requests and deliver a request.
When a request is made for a particular node, Sling looks up for a property called sling:resourceType, this is a lookup key for rendering scripts. Then the appropiate script is executed using the node as input.
You could write different kinds for renderers and then use it to display your content in different ways.
For example, you could write two scripts full.json.jsp and short.json.jsp and then use them to render the same node in two different ways:
/content/app/node.full.json
OR
/content/app/node.short.json.
Sling basically matches tokens in the request URL to select an appropriate script.
They have a really nice cheat sheet that explains how request resolution and rendering works
it is a bit more complex than this, since everything is organized in resources and components. you want to check their site for more info
I had the same doubts. The best response I was able to find is in the official Sling page (https://sling.apache.org/)
(What is) Apache Sling, in a hundred words:
Apache Sling is a web framework that uses a Java Content Repository, such as Apache Jackrabbit, to store and manage content.
Sling applications use either scripts or Java servlets, selected based on simple name conventions, to process HTTP requests in a RESTful way.
The embedded Apache Felix OSGi framework and console provide a dynamic runtime environment, where code and content bundles can be loaded, unloaded and reconfigured at runtime.
So, resuming it:
Sling is a web framework --> using jackrabbit --> based/supported on JCR API.
You can see Apache Felix like a container with its manager.
Note that Sling started as an internal project at Day Software. It's the reason why some bundles/libraries are named like com.day, but in the ends they are two names for the same.
Also, if you want to be clear about Jackrabbit and JCR API you can visit the Jackrabbit's official page http://jackrabbit.apache.org/jcr/jackrabbit-architecture.html
I probably suck as Googling stuff, but I couldn't find any link that mentioned whether its possible to integrate Spring.net with Oracle's coherance product.
Does anyone know if Spring.net has wrapper libraries for the same ?
Thanks in advance.
The spring integration project for .net is still listed as a spring.net extension project, it's status is "incubator" and it hasn't had any commits since March 2010.
From the project homepage:
The Spring Integration for .NET project will use the design and code
base of the Spring Integration project as a basis, adapting the code
as need to support .NET idioms and move in the direction to take
advantage of .NET only features such as Lambda expressions and
extension methods.
I'd suggest you first find out if Spring Integration for Java supports Oracle's Coherance and if so, you might have a slight chance to get this working in .NET too.
Oracle Coherence provides a native .NET client that you can use to access it from any .NET application, including Spring.NET-based apps.
Here is a link to docs:
http://docs.oracle.com/cd/E24290_01/index.htm
What you are interested in is covered in the Client Guide (Parts I and IV) and .NET API Reference.
My book, Oracle Coherence 3.5, also has two chapters on .NET and POF (Portable Object Format), as well as a full blown WPF sample application talking to a Coherence Java backend.
I'm just in the planning phase of developing my iPhone/iPad/Android app.
Basically the app will query data from remote data sources and store it locally. As data management will be the key feature of this app, so the UI isn't an important factory in this case. I decided to develop a HTML5 and JavaScript-based hybrid application and deploy it with PhoneGap/Cordova.
I'm a .NET developer, I use Visual Studio 11 for web development, so I found the Single Page Application template, which uses Upshot.js by default.
By exploring the alternatives, I've found JayData http://jaydata.org library. It seems to me that it's something similar to upshot.js.
Could you share your opinion, which way should I go to build a cross-platform HTML5 application?
Upshot and JayData looks similar but actually they are quite different, which makes your choice easier. There are things however both provides
Both has pros and cons (as everything in life)
Upshot.js is backed by Microsoft and focuses mainly on oData + Knockoutjs support. It is included in Visual Studio. You can query oData endpoints with it using a procedural query language.Upshot supports read/write operations, and also realtime updates.
JayData supports multiple datasources, among them are oData but also device local webSql as well, plus some other providers too. JayData let's you query oData or webSql on the same with, with sime JavaScript functions, so you dont have to learn sql and oData uri syntax. JayData provide read/write operations but realtime updates require a small user code.
I used xml services for post and retrieving data from webservices. I dont know about JSON parsing, whether JSON is easy than xml.
That depends, do you plan on supporting other platforms?
The .Net based platforms have more than ample resources for easily consuming services that are hosted with a variety of serialization methods (and many other variances). If you only plan on supporting Windows Phone or other .Net based platforms than you may find that XML Serialization is easy and can stick with it. When you start to consider other platforms then you may find that Xml serialization can at times be a pain and JSON is the preferred way.
If you want to go with JSON parsing in addition to the JSON serializer that comes with the .Net platforms you may also want to check out JSON.Net (which is much more flexible than what comes with the .Net libraries) and RestSharp for consuming REST based services with JSON serialization.