Articles of asp.net

无法在Nano服务器上使用dotnet核心(TP5)

我试图按照下一个教程的所有说明: https : //docs.asp.net/en/latest/tutorials/nano-server.html#id9 ,但出现了一个问题… 似乎是,dotnet核心未安装成功,因为如果要运行任何适当的命令,如: dotnet new , dotnet restore我将得到下一个错误(在Nano服务器上): [192.168.10.8]:PS C:\ Temp> dotnet publish dotnet:你的意思是运行dotnet SDK命令? 请从以下位置安装dotnet SDK:+ CategoryInfo:NotSpecified :(您是否指… tnet SDK来自:: String)[],RemoteException + FullyQualifiedErrorId:NativeCommandError http://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409 我已经通过下一个Power-Shell脚本安装了dotnet核心: http : //pastebin.com/nwaLcQam 所以,我无法在纳米服务器上运行编译的ASP.NET Web API。 我该怎么办才能解决这个问题?

ASP.NET应用程序用netonly模拟用户访问networking共享

我们有一个运行在服务器A上的ASP.NET应用程序,它位于它自己的域中,在web.config中我们模拟一个用户。 现在,这个应用程序需要访问位于不同域的服务器B上的一个文件夹,并且由于缺乏权限,服务器B拒绝访问。 所以我们手动从cmd尝试用“/ netonly”来模拟相同的用户,然后就可以访问Server B文件夹。 现在我们如何以编程方式实现这一点? 任何帮助,将真正感激它!

ajax错误的比例很高

我公司的网站使用jQuery Ajax来提交表单。 高比例(5% – 10%)失败,导致ajax的error handling程序在客户端的浏览器中运行。 error handling程序如下所示: $.ajaxSetup({ type: 'post', error: function (request, textStatus, errorThrown) { if (developmentMode) return; $.post('/error/LogAjaxError', { err: 'headers:' + (request.getAllResponseHeaders ? request.getAllResponseHeaders() : '') }); setTimeout(function () { location.href = (appRoot + 'error/500'); }, 500); } }); error/LogAjaxError成功logging这些错误,这是我们如何知道百分比。 现在不是服务器错误,因为 我们正在使用Elmah(通常工作得很好),但是在这些ajax调用中没有发现任何错误 我们可以看到,ajax服务器的代码一直运行到没有错误,因为它在最后一行增加了一个dblogging 这也不太可能是一个networking问题,因为客户端在几error/LogAjaxError之后成功发送ajax调用到error/LogAjaxError 。 有没有人有一个想法是什么问题,因为它似乎不是一个服务器或networking错误? 大多数客户正在使用移动设备。 是否有任何统计数据,预计移动设备的Ajax请求会有多less百分比?

每次IIS重新启动后,都需要在site.config中注释掉isapifilter

我们正在经历一个我无法弄清楚的奇怪问题,希望有人能够帮助我。 当我们重新启动我们的Web服务器之一时,我必须进入site.config来注释一些对.net的引用,以便让我们的Wordpress网站正确启动。 对于Windows,每次重新启动服务器或IIS服务时,都必须更新c:\inetpub\temp\appPools\Site\Site.config 。 <isapiFilters> <filter name="ASP.Net_2.0_for_V1.1" path="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_filter.dll" preCondition="bitness32" /> <filter name="ASP.Net_4.0_32bit" path="C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_filter.dll" preCondition="bitness32" /> <filter name="ASP.Net_4.0_64bit" path="C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_filter.dll" preCondition="bitness64" /> </isapiFilters> 我最终需要在块周围添加注释以使站点正常工作。

如何阻止IIS父网站优先于虚拟应用程序

我有一个简单的设置。 我有一个WordPress的网站设置在一个子域api.website.com的根。 这将作为API的文档。 然后我有API本身,用asp.net构build,我希望这是一个虚拟应用程序,以便用户可以查询api.website.com/v1作为API的基础URL。 我遇到的问题是wordpress正在优先考虑,并将我对/ v1的每个请求redirect到404页面。 有时它redirect到一个实际的页面,但无论如何,asp.net虚拟应用程序没有被击中。 这里是我从applicationHost.config中提取的站点信息。 <site name="API" id="8" serverAutoStart="true"> <application path="/" applicationPool="API"> <virtualDirectory path="/" physicalPath="C:\inetpub\wwwroot\API\Documentation" /> </application> <application path="/v1" applicationPool="API"> <virtualDirectory path="/" physicalPath="C:\inetpub\wwwroot\API\SourceCode\API" /> </application> <bindings> <binding protocol="http" bindingInformation="*:963:" /> <binding protocol="http" bindingInformation="*:80:api.website.com" /> </bindings> </site> 如何让服务器优先考虑虚拟应用程序,以便如果它在URL中取/ v1,它将转到asp.net站点而不是wordpress站点。 我在Windows 2012 R2服务器上运行iis 8.5。 编辑。 我尝试使用安装在我的Windows 8笔记本电脑上的IIS设置相同的configuration。 我想要的configuration是在这里工作,所以它看起来像它可能是在服务器上导致这一点IIS,但我仍然无法找出是什么原因造成的。

使用ARR作为ASP.NET WebAPI的反向代理的IIS以不同的方式随机地转义换行符

我们正在生产中运行一个asp.net Web API应用程序,使用IIS和ARR进行SSL卸载和反向代理。 我们看到一些奇怪的问题,从webapi端点请求xml。 随机地每隔一段时间,请求之间可能是2秒,或者几分钟,这并不重要,即使数据库没有改变,输出也是不同的。 几乎所有的事情都发生了,每分钟设置一个计时器,几乎所有的响应都会以不同的方式结束。 响应的一部分可以有真实的换行符,而下一个响应中的相同内容可以将它们转义为“\ n”,从而输出文本\ n而不是真正的换行符。 对于相同的请求,这也可以在同一响应的不同部分以不同的方式转义。 例如,一个XML元素可以有真正的换行符,下一个XML元素可以让他们逃脱。 Web应用程序使用内置的.NET xmlwriter,因此没有会​​导致此问题的自定义xml输出。 我已经克隆了虚拟机,并设置了一个不可重现的临时环境,尽pipe由于数据较less,此处的响应要小得多。 在ARR中是否有任何设置可能会导致转换按请求进行? 例如一些caching机制

有关保护与ASP.NET和IISpath属性相关的Cookie的信息

我需要帮助保护我的Web应用程序的Cookie。 它部署在IIS中,并构build在ASP.NET MVC中。 这些是我需要获得更多信息的事情 IISpipe理器中的站点文件夹是否也是虚拟目录? 如果网站不是一个虚拟目录,那么一个。 如果网站直接部署在IISpipe理器的“站点”文件夹下,那么对于同一站点文件夹下的其他不安全的应用程序是否真的易受攻击? 或b。 只有在虚拟目录的情况下才会出现漏洞? 默认情况下,所有cookie的path属性都以“/”作为其值。 它是否指向“网站”下Web应用程序的层次结构级别,是否会影响其他非安全应用程序? 或者它只是指向创buildcookie的Web应用程序? 通过这篇文章后 ,我提出了以上问题。 只要在页面上寻找path属性。 如果我真的需要设置cookiepath,那么还有一件事,他们正在与我的Web应用程序自动生成,如会话ID,反伪造令牌。 所以我不能设置他们的path属性,因为我不是通过HttpCookie对象创build它们。 我试图尽可能地通过Google搜集尽可能清楚的解释,但很难说清楚。

意外的IIS.Net应用程序池回收

自6月19日以来,我们正在经历应用程序池工作stream程的无法解释和不必要的回收。 应用程序池有一个预定的凌晨3点的回收。 但是从6月19日起,我们在上午5点到5点30分之间正在经历额外的无法解释的日常回收。 我们还无法find原因或触发因素。 不在IISpipe理设置中,也不在事件日志中,也不在任务计划程序中。 我们幸运的是有一个通过IISpipe理员的电子邮件发送的回收堆栈: Current StackTrace (max 30 frames deep): 0. ezWeb.Global_asax.Application_End() 1. System.RuntimeMethodHandle.InvokeMethod() 2. System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal() 3. System.Reflection.RuntimeMethodInfo.Invoke() 4. System.Reflection.MethodBase.Invoke() 5. System.Web.HttpApplication.InvokeMethodWithAssert() 6. System.Web.HttpApplication.ProcessSpecialRequest() 7. System.Web.HttpApplicationFactory.FireApplicationOnEnd() 8. System.Web.HttpApplicationFactory.Dispose() 9. System.Web.HttpRuntime.Dispose() 10. System.Web.HttpRuntime.ReleaseResourcesAndUnloadAppDomain() 11. System.Threading.ExecutionContext.RunInternal() 12. System.Threading.ExecutionContext.Run() 13. System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem() 14. System.Threading.ThreadPoolWorkQueue.Dispatch() 我们应该在哪里进一步寻找原因,这个回收的触发器?

IIS发布的网站提供HTTP 500错误

我有很大的麻烦发布我的网站到IIS。 它始终返回HTTP 500内部服务器错误。 我的项目在本地主机上运行完美。 我已经安装了NuGet包MvcDiagnostics.asxp( http://bradwilson.typepad.com/blog/2010/03/diagnosing-aspnet-mvc-problems.html )检查是否有任何隐藏的exception,但我没有find任何东西。 我正在运行一个Windows Server 2016,我在上面安装了IIS。 我没有与我的网站需要数据库连接。 ApplicationPoolIdentity默认应用程序池标识,我只是在80端口上添加了一个新的网站。 我给了用户IIS_IUSRS在inetpub文件夹上的完整权限。 我的网站被添加在C:\ inetpub \ wwwroot \网站下 我也尝试在webconfig中更改existingResponse =“PassThrough”和customErrors mode =“Off”,但没有运气。 任何帮助深表感谢! 我已经坚持了几个星期。 我能做什么? 谢谢! 解 点击“开始button” 在search框中input“打开或closures窗口function” 在function窗口中单击:“Internet信息服务” 点击:“万维网服务” 点击:“应用程序开发function” 检查(启用)function。 我检查了所有,但CGI。 看来我忘了安装IIS的某些部分。

IIS中的连接限制数量与最大池大小之间的差异

我想了解连接string中的“最大池大小”设置与IIS服务器pipe理器中的“限制”设置之间的区别…是否指的是同一事物? 如果不是每个做什么? 为了清楚起见,我在IISpipe理器中附加了为连接string语句剪切的代码和“限制”设置的照片。 <connectionStrings> <add name="TrackingConnectionString" connectionString="Data Source=localhost;Min Pool Size=0;Max Pool Size=100;Pooling=true; Initial Catalog=Tracking;Integrated Security=True;" providerName="System.Data.SqlClient"/> </connectionStrings> 附件是ISSpipe理器中“限制”设置的照片。