我刚安装vs 2010,然后在窗口7中安装IIS.在.net framework 4.0中构建网站并将其转换为IIS中的应用程序时,它显示此错误

如果我targetFramework="4.0"从web配置文件中删除它然后它显示第二个错误,该错误与linq引用错误有关

这一切都发生在我使用localhost运行我的网站时,但每当我在2010年使用f5时,它的运行完美.
当我想附加我的过程时,aspnet_wp.exe我没有在我的列表中找到此过程.
我在这里搜索了很多答案.我错过了什么
我正在运行IIS 7集成模式,我正在使用
在此上下文中不提供请求
当我尝试在调用的Log4Net相关函数中访问它时Application_Start.这是我的代码行
if (HttpContext.Current != null && HttpContext.Current.Request != null)
Run Code Online (Sandbox Code Playgroud)
并且正在抛出异常以进行第二次比较.
除了检查HttpContext.Current.Request for null之外,我还能检查什么?
在iis7.5上运行mnc时,在此上下文异常中发布了类似的问题 @Request不可用
但也没有相关的答案.
我有一个在Windows 2003服务器上的IIS 7下运行的.NET 3.5应用程序,并且在我继续提示登录时无法使集成的Windows身份验证正常工作.我已将IIS身份验证设置为在IIS中启用,并禁用所有其他安全类型,并且我的应用程序web.config文件身份验证/授权设置为:
<system.web>
<compilation debug="true" strict="false" explicit="true" targetFramework="3.5" />
<authenticationmode="Windows"/>
<authorization>
<deny users = "?" />
</authorization>
</system.web>
Run Code Online (Sandbox Code Playgroud)
通过这种设置,我期待Windows用户的场景验证背后允许访问和拒绝匿名用户.但是,当我尝试访问该站点时,我得到的是Windows登录弹出窗口.
我已经解决了这个问题几天了,无法解决问题.基于具有类似问题的帖子,我确认我的URL不包含任何句点,仔细检查我的IE设置是否设置为启用集成Windows身份验证,还将我的URL添加到我的Intranet站点,但仍然获得弹出窗口.
为了进一步排除故障,我在IIS中启用了匿名身份验证并修改了我的web.config文件,然后添加了Response.Write(System.Security.Principal.WindowsIdentifity.getcurrent().user.name.toString() )尝试查看身份验证中使用的用户.我得到的结果是IIS APPPOOL\myapp,它显然是我的应用程序的IIS应用程序池.
我真的很感激任何人都可以提供的任何帮助,所以我仍然只使用Windows身份验证,但没有获得弹出窗口,并且Windows身份验证是针对实际的Windows用户执行的.
谢谢.
进一步排除故障后的其他说
只是注意到当登录失败并再次显示Windows登录提示时,它显示尝试登录为"SERVERNAME"\"USERNAME"的用户名,这使我相信它正在尝试验证用户对服务器的对比域.为了确认这一点,我直接在应用服务器上创建了一个本地用户帐户,其用户名和密码与网络域用户相同,并尝试再次登录.结果是我再次收到登录提示,但是当我输入用户名和密码时,我能够成功登录.网络用户和应用服务器位于同一个域中,因此实际上不确定为什么IIS身份验证指向本地应用服务器帐户而不是域帐户.我知道这是一个IIS问题,所以发布在forums.iis.net上,但感谢任何人可能有任何建议,因为已经解决了这几天.
我使用WebClienttype将*.cab文件上传到我的服务器.在服务器端,我使用PUT方法为*.cab文件注册了一个HTTP处理程序,如下所示:
<add name="ResultHandler" path="*.cab" verb="PUT" type="FileUploadApplication.ResultHandler" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode" />
Run Code Online (Sandbox Code Playgroud)
但我总是得到"405方法不允许"的错误.回复称允许的方法如下:
Headers = {Allow: GET, HEAD, OPTIONS, TRACE
Content-Length: 1293
Content-Type: text/html
Date: Fri, 27 May 2011 02:08:18 GMT
Server: Microsoft-IIS/7.5
X-Powered-By: ASP.NET}
Run Code Online (Sandbox Code Playgroud)
即使我在我的Web应用程序的IIS请求筛选中明确允许PUT方法,仍然会发生相同的错误.
我怀疑这是一个与IIS相关的问题.我希望有人能为我揭开这一点.
有没有办法从IIS7中删除"服务器"响应头?有一些文章显示使用HttpModules我们可以实现同样的目的.如果我们没有服务器的管理权限,这将非常有用.另外我不想写ISAPI过滤器.
我有我的服务器的管理员权限.所以我不想做上面的事情.所以,请帮我做同样的事.
这里有一个奇怪的问题.每个人都知道,如果您使用web.config的customErrors部分来创建自定义错误页面,那么您应该将其设置Response.StatusCode为适当的.例如,如果我创建一个自定义404页面并将其命名为404.aspx,我可以放入<% Response.StatusCode = 404 %>内容以使其具有真正的404状态标题.
到目前为止跟着我?好.现在尝试在IIS7上执行此操作.期间我无法上班.如果Response.StatusCode在自定义错误页面中设置,IIS7似乎完全覆盖自定义错误页面,并显示其自己的状态页面(如果您已配置一个.)
有没有其他人看到这种行为,也许还知道如何解决它?它在IIS6下工作,所以我不知道为什么会发生变化.
我想知道将网站移动到另一台服务器的最佳做法是什么(以及所有设置等)
只是想知道其他人的经历是什么.
IIS7在哪里保存每个虚拟目录/应用程序及其物理路径的配置?
它是XML文件吗?如果是这样,编辑此XML文件是否会影响IIS配置(重启后)?
我遇到了以下问题.
我运行以下代码
var binaryData = File.ReadAllBytes(pathToPfxFile);
var cert = new X509Certificate2(binaryData, password);
Run Code Online (Sandbox Code Playgroud)
在两个过程中.其中一个进程运行,LOCAL_SYSTEM并且此代码成功.另一个在IIS中在属于"Users"本地组的本地用户帐户下运行,在那里我得到以下异常:
System.Security.Cryptography.CryptographicException
Object was not found.
at System.Security.Cryptography.CryptographicException.ThrowCryptographicException(Int32 hr)
at System.Security.Cryptography.X509Certificates.X509Utils._LoadCertFromBlob(Byte[] rawData, IntPtr password, UInt32 dwFlags, Boolean persistKeySet, SafeCertContextHandle& pCertCtx)
at System.Security.Cryptography.X509Certificates.X509Certificate.LoadCertificateFromBlob(Byte[] rawData, Object password, X509KeyStorageFlags keyStorageFlags)
at System.Security.Cryptography.X509Certificates.X509Certificate2..ctor(Byte[] rawData, String password)
//my code here
Run Code Online (Sandbox Code Playgroud)
所以我用Google搜索了一下,找到了一个类似问题的答案.我尝试启用LoadUserProfile应用程序池,现在可以正常运行.
问题是我没有得到我设置时会发生LoadUserProfile什么以及可能产生的后果.我的意思是,如果它是一个"好"的东西那么为什么它不是默认"开启",为什么它毕竟在那里?
当我LoadUserProfile在IIS池中设置时会发生什么,它会产生什么负面影响?
我使用ASP.NET Web API编写了REST服务.我正在尝试发送HttpDelete请求,但是我收到以下错误:
405 - 不允许用于访问此页面的HTTP动词
我认为我接近解决方案,我发现我应该启用IIS远程管理,转到Handler Mappings部分并将DELETE动词添加到适当的位置......但问题是有很多不同的位置列表......(就像这里:http://www.somacon.com/p126.php).
我应该编辑哪一个?其中很少没有扩展,例如"ExtensionUrlHandler-Integrated-4.0",我添加了DELETE动词,但它仍然不起作用......
修改那个只是在黑暗中拍摄,所以我应该修改不同的位置吗?如果是这样,哪一个?或者还有什么我应该做的?
相同的Web服务在我的本地服务上工作得很好,所以我猜问题是远程IIS ...
问候
iis-7 ×10
asp.net ×5
iis ×2
.net ×1
asp.net-mvc ×1
c# ×1
deployment ×1
header ×1
migrate ×1
response ×1
security ×1
web-config ×1