1

我正在使用位于 /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;
   }
}

这适用于初始加载,但单击一次会向以下请求发出后续请求:/myServer/myArea/MyClickOnce/9.0.0.132/MyClickOnce.exe.manifest

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

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

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

4

1 回答 1

1

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

   public ActionResult Open()
   {
      string path = "/Provisioning/4843EA3F-9138-4A0D-9D33-BF4CDDEB7C7E/MyClickOnce.application";
      return new RedirectResult(path);
   }
于 2013-08-23T14:18:54.503 回答