相关疑难解决方法(0)

Web API Controller将MemoryStream转换为StreamContent

我有一大堆存储在安全服务器上的图像,其中一些需要在面向世界的门户上显示.门户网站的服务器位于DMZ内部,允许请求但阻止直接请求进入安全域.图像使用SOLR编目,可以通过内部(apache?)服务器下载http://intenalname/folderA/folderAB/file.jpg

在我的内部我PhotoController可以创建一个实例WebClient,给它url并得到一个MemoryStream.如果我尝试使用这个内存流来填充response.content,我会得到一个空响应(每个fiddler).如果我使用内存流写入本地文件,然后读取文件(使用FileStream和FileInfo)它"按预期"工作.

我应该能够从一个MemoryStream到StreamContent没有经过文件系统(不应该)?但怎么样?默认构造函数StreamContent(stream)接受内存流实例而没有编译器错误......但它只是'不起作用'.

HttpResponseMessage response = Request.CreateResponse();

using (WebClient webClient = new WebClient())
{
    string url = string.Format(PHOTO_GET, filePath);
    using (MemoryStream memoryStream = new MemoryStream(webClient.DownloadData(url)))
    {
        // If these lines are unremarked the stream moves 'through' the file system and works (?!)
        //memoryStream.Position = 0;
        //string tempName = @"c:\test\" + Guid.NewGuid().ToString() + ".jpg";
        //var fs = new FileStream(tempName, FileMode.OpenOrCreate);
        //stream.CopyTo(fs);
        //fs.Close();
        //FileInfo fi = new FileInfo(tempName);

        response.Headers.AcceptRanges.Add("bytes"); …
Run Code Online (Sandbox Code Playgroud)

c# asp.net stream asp.net-web-api2

16
推荐指数
1
解决办法
2万
查看次数

用于ASP.NET的web api - 如何构建对象流

这将是一个主观问题,但仍然想在这里提出它.

我计划构建一个像fb这样的流墙,它将包含文本帖子,嵌入式视频*,图片,民意调查等对象.由于我只对ASP.NET网页有一点知识,我打算使用相同的.我的问题是哪种技术/方法最适合设计流?

在ASP.NET webform上选择Web API是否合适?或者我是否必须仅依赖ASP.NET MVC?如何在同一列表(流)中显示不同的对象类型?我认为无法使用datalist,repeater,gridview等.

也许,这似乎是一个主观问题,但可能具有对建筑感知的价值.

architecture asp.net asp.net-mvc-4 asp.net-web-api

8
推荐指数
1
解决办法
1239
查看次数