我想通过HTTP向客户端应用程序公开一些数据。例如,客户端将转到URL:http://mysite.com/books/12345以获取有关书籍12345的数据。客户端可以对http://mysite.com/books/54321执行HTTP PUT或POST以上载有关书籍54321的数据。这称为RESTful网络服务?
我不知道从哪里开始。我想在C#/ .NET中编写服务器逻辑,记住客户端将使用非Microsoft技术,如C ++,Objective-C和Java,所以我不想陷入只能工作的东西在Microsoft .NET环境中。客户端也将通过带宽有限的蜂窝连接运行。我想通过HTTP协议使用紧凑便携的协议,如Google Protocol Buffers,以允许不同语言和平台之间的通信。
我应该使用哪种Microsoft技术来编写我在第一段中描述的RESTful Web服务?我可以使用哪种开源技术编写第一段中描述的RESTful Web服务?我使用哪个Web服务器是否重要?可以通过HTTP连接发送二进制数据(protobuf)吗?如何从服务器将新数据推送到客户端?