从MVC控制器/操作中使用一次性单击应用程序

时间:2013-08-22 15:26:52

标签: asp.net-mvc clickonce

我正在使用位于/ myServer / myArea / MyClickOnce / Open中的MVC控制器/操作,它返回一个FileResult

public class MyClickOnceController : Controller
{
   public FileResult Open()
   {
      FilePathResult file = new FilePathResult("/Provisioning/4843EA3F-9138-4A0D-9D33-BF4CDDEB7C7E/MyClickOnce.application", "application/x-ms-application");
      return file;
   }
}

这适用于初始加载,但是click-once会发出后续请求: /myServer/myArea/MyClickOnce/9.0.0.132/MyClickOnce.exe.manifest

此路径实际上并不存在,因为点击一次的物理路径位于: /供应/ 4843EA3F-9138-4A0D-9D33-BF4CDDEB7C7E / *

所以它存在于: /Provisioning/4843EA3F-9138-4A0D-9D33-BF4CDDEB7C7E/9.0.0.132/MyClickOnce.exe.manifest

我应该使用路由来重定向所有这些后续请求吗?是否有更好的方法来使用来自MVC控制器/操作的单击一次应用程序?

1 个答案:

答案 0 :(得分:1)

如果您使用RedirectResult,则对ClickOnce清单和其他文件的后续请求将被路由到正确的目录。

   public ActionResult Open()
   {
      string path = "/Provisioning/4843EA3F-9138-4A0D-9D33-BF4CDDEB7C7E/MyClickOnce.application";
      return new RedirectResult(path);
   }