在IIS 5(6或7)上托管ASP.NET MVC应用程序的最佳方法是什么?当我尝试发布我的ASP.NET MVC应用程序时,我似乎得到的只是404错误.我已经做了一些googleing并找到了几个解决方案,但似乎都不是超级优雅,我担心一旦我来为应用程序使用共享托管环境它们将无法使用.
- 右键单击inetmgr.exe上的应用程序虚拟目录.
- 属性 - >虚拟目录选项卡 - >配置.
- 添加新的映射扩展.扩展名应为.*,它将映射到可执行文件C:\ WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll,或者计算机上的相应位置(您只需将其映射到映射中即可) .aspx文件).在映射上取消选中"检查该文件是否存在".
- 3 X好,你很高兴.
- 如果需要,可以将此设置应用于所有网站.在步骤1中,单击"默认网站"节点而不是您自己的虚拟目录,然后在步骤2中转到"主目录"选项卡.其余的都是一样的.
通过ASP.NET路由一切似乎有点麻烦.
编辑MVC路由以在URL中包含.mvc,然后根据此扩展按照解决方案1中的步骤操作.编辑:原始图片链接已丢失,但此处来自Google的缓存:

我开始探索CouchDB,我对以下内容感兴趣:
我一直在使用这个免费托管网站进行开发和测试.
我无法使用UPDATEMySQL命令更改数据库值,即使允许用户使用来自cPanel的所有命令.
然后,我已经使用默认用户对其进行了测试,但仍然无法正常工作.但是,它在我的系统上工作正常.
MySQL的错误是
UPDATE command denied to user 'test'@'localhost' for table 'content'
其他命令工作正常.
为什么会这样?它怎么能被阻止?或者任何解决方案?
我非常确定用户有权使用该UPDATE命令,因为我可以将phpMyAdmin与同一用户一起使用并修改MySQL字段.
我不明白为什么来自PHP的某些MySQL命令被拒绝给予所有特权并且可以通过phpMyAdmin完成所有操作的用户.鉴于该脚本,phpMyAdmin和SQL主机位于同一服务器上.
注意:这也适合超级用户.
我在一个共享主机上用apache2 mpm itk和open_basedir设置PHP 5.3.10,每个用户可能看不到或更改另一个用户的文件.在apache2 vhost设置中,我添加了相应的条目来限制用户:
AssignUserId userA userA
php_admin_value open_basedir /home/userA/www/
php_admin_value upload_tmp_dir /home/userA/www/tmp/
php_admin_value session.save_path /home/userA/www/tmp/
SetEnv TMPDIR /home/userA/www/tmp/
Run Code Online (Sandbox Code Playgroud)
现在,第一行将linux用户设置为用于apache2,接下来的三行将basedir,upload目录和session savepath定义在用户目录中.我会在一秒钟内回到最后一行.
现在出现问题:sys_get_temp_dir()应该回放php的临时目录,这是/ tmp在linux系统上的默认目录.出于安全原因,此目录应驻留在userA的open_basedir中.根据5.3.10的php-source,sys_get_temp_dir()-function使用环境变量TMPDIR来获取这个目录:
// php-src/main/php_open_temporary_file.c:217-219
/* On Unix use the (usual) TMPDIR environment variable. */
{
char* s = getenv("TMPDIR");
Run Code Online (Sandbox Code Playgroud)
这就是上面配置中的第五行应该做的事情.但是,sys_get_temp_dir()只返回全局系统目录,忽略环境变量(在$ _SERVER中完美设置,也可以通过查看phpinfo()).
这导致一些令人讨厌的错误,依赖于各种软件sys_get_temp_dir(),因为该目录不在open_basedir设置范围内.我试图将变量直接设置为$ _ENV和$ _SERVER而不改变行为.我试过putenv('TMPDIR=/home/userA/www/tmp')没有改变.
但是,我可以通过将变量定义到/ etc/apache2/envvars来更改输出 - 这对我来说没用,因为我希望每个VHOST都有自己的临时文件夹.
到目前为止,我发现的唯一解决方案是sys_get_temp_dir()通过像runkit这样的扩展来覆盖内部,并通过auto_prepend_file强制包含它.但是这个解决方案太脏了,我简直无法相信,周围没有更好的解决方案.
所以,我的问题:有没有办法改变sys_get_temp_dir()在apache2 vhost设置中设置的结果,而不用runkit重新实现该功能?
编辑: apache版本是2.2.22,我目前使用mod_php.由于我必须手动添加所有用户,因此也可以使用fcgi或类似的设置.
我想编辑我的主机文件以将网站转发到另一个IP,但该IP位于共享主机上,因此IP不会将我带到我想要的域.有没有解决的办法?
即网站:http://somerandomservice.com/
Ping网站并转至:67.225.235.59
但他们是不同的网站.
谢谢!
更新:尝试了nmap,但无法找到正确的端口.
像许多其他人一样,我在部署ASP.Net MVC应用程序时收到以下错误:
无法加载V8接口组件; 验证您的应用程序是否安装了以下文件:ClearScriptV8-32.dll,ClearScriptV8-64.dll,v8-ia32.dll,v8-x64.dll
安装Clearscript是为了在页面请求中动态转换较少的文件.
我已经在ISS Express和ISS本地测试了我的应用程序.
正如这里建议的那样http://clearscript3.rssing.com/chan-14849437/all_p12.html我还将缺少的代码库作为资源包含在我的项目中.
ClearScriptV8-32.dll,ClearScriptV8-64.dll,v8-ia32.dll,v8-x64.dll都包含在bin文件夹中的文件夹ClearScript.V8英寸 删除此文件夹无法解决问题.
在我的智慧结束.任何帮助表示赞赏.
我想在购买托管计划之前检查是否可以使用托管服务器完成推送通知.检查这个的最短方法是什么.我还有godaddy.com的托管计划我可以使用来自godaddy托管服务器的推送通知吗?
我最近熟悉了Scala并发现它很漂亮.我愿意放弃使用PHP并使用Scala代替我的所有项目.现在我使用BlueHost来托管我的基于PHP的站点.你能推荐一个支持Scala的好选择吗?
我在IIS 7共享托管环境中有一个网站.它运行的是.NET 3.5.我有一个下载按钮从服务器下载文件.
当我将此应用程序本地部署到IIS 6时,它运行正常.在IIS 7共享主机服务器上,发生异常.
句柄无效.(来自HRESULT的异常:0x80070006(E_HANDLE))描述:在执行当前Web请求期间发生了未处理的异常.请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息.
System.Runtime.InteropServices.COMException:句柄无效.(来自HRESULT的异常:0x80070006(E_HANDLE))
COMException(0x80070006):句柄无效.(来自HRESULT的异常:0x80070006(E_HANDLE))] [HttpException(0x80004005):与远程主机通信时发生错误.错误代码是0x80070006.]
怎么解决这个问题?
string strRequest = Convert.ToString(Request.QueryString.Get("file"));
System.IO.FileInfo file = new System.IO.FileInfo(strRequest);
if (file.Exists)
{
Response.Clear();
Response.ContentType = ReturnExtension(System.IO.Path.GetExtension(file.Name));
Response.AppendHeader("Content-Disposition", "attachment; filename=" + file.Name);
Response.TransmitFile(strRequest);
Response.End();
HttpContext.Current.ApplicationInstance.CompleteRequest();
//DownloadFile(file.FullName, file.Name);
}
Run Code Online (Sandbox Code Playgroud) 我需要将laravel 5项目部署到客户端主机.
我的客户端的计划是基本托管:没有cpanel或类似的Linux + MySql(即没有管理面板).
我只能通过ftp访问,只能访问名为www.mycustomerweb.com的文件夹.这意味着我无法在www.mycustomerweb.com文件夹的同一级别创建目录.只在它里面(我认为它被称为共享主机).
一年前,我用这种方式部署了一个用Laravel 4制作的项目:
我的问题是:
我用laravel 4项目做了一切吗?我是否已陷入安全问题(我的意思是,网站是否安全)?
如何将laravel 5项目部署到同一站点?在Laravel 5中,我无法像Laravel 4那样摆脱公共文件夹.
现在,我在localhost上设置了Laravel 5的全新安装,然后我通过ftp将所有文件上传到www.myclientweb.com文件夹:
当然这不是正确的方法......
我已经在网上和Stackoverflow上进行了长时间的搜索而没有运气.
真的很感激任何帮助.
谢谢阅读.