亲爱的开发者朋友,
我在ASP.Net MVC4中开发了一个自托管API(例如http://blogs.msdn.com/b/henrikn/archive/2012/03/01/file-upload-and-asp-net-web-api.aspx),因为我需要一个可以上传超大文件的解决方案。这很顺利。
现在我想通过Bluimp JQuery Upload component将文件上传到我新编写的API。
除了一些小瑕疵外,这种方法很好:
- 进度条未显示
- JQuery引发错误:不安全JavaScript尝试使用URL访问框架...
很明显这个错误引发了,因为我的API运行在除Web应用程序之外的其他端口上,并且无法通过跨域/端口进行ajax调用。
我已经将forceIframeTransport:true参数添加到fileupload组件调用中。这样做有一些好处 - 没有它我根本无法上传文件(因为组件尝试使用ajax调用上传)。
所以..我想如果有一些方法可以在与我的网络应用程序相同的端口上运行我的自托管API(使用明确定义的路由),我的世界将会再次开心和闪亮。但是......我不太确定这是否可行......
不幸的是,我的ASP.Net应用程序中的代理对我没有帮助,因为我编写了API来避免 IIS限制(关于最大上传大小)。使用我自己托管的API作为代理可能会对这项工作有所帮助,但我认为这有点过分了吗?
任何?提前谢谢!
答案 0 :(得分:1)
雅虎!解决了!
var config = new HttpSelfHostConfiguration(“http:// localhost:49302 / api ”);
换句话说 - 只有当网址以 / api 开头时,网络API才会生效。所有其他请求都由我的MVC4 Web应用程序获取。但它们在同一个端口上运行。
所以回答我的问题:是的,这是可能的。只需添加一个根目录。