title: 405: Method Not Allowed
body: <p>EDIT:  Summary: It seems that my web app can be accessed by anyone (only firefox or chrome) and by me using my main computer. If i try to access <a href="http://luiscarlosch.com/WebFormClean.aspx" rel="noreferrer">http://luiscarlosch.com/WebFormClean.aspx</a> from any other of my LAN it gets a 405 error</p>
  
  <p>I can perfectly call a WCF web method from localhost. I published to this server: <a href="http://luiscarlosch.com/WebFormClean.aspx" rel="noreferrer">http://luiscarlosch.com/WebFormClean.aspx</a> (only firefox or chrome)
  with the Visual Studio publishing tool and it works fine. The problem is when a try to access it from another computer. I get the 405: Method Not Allowed.
  But It doest make sense because It works fine when i access it remotely from the publisher computer as I said.
  Any idea?</p>
  
  <pre><code>[ServiceContract(Namespace = "")]
  [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
  public class ContactProxy
  {
      [WebGet()]
      [OperationContract]
      public Contact getByID(int IDContact)
      {
          Contact contact = new Contact(IDContact);
          return contact;
      }
      [OperationContract]
      public EntityData insertEntityData(int IDEntityDataFieldType, int IDContact, String value)
      {
          //Contact contact = new Contact();
         // contact.insertEntityData(IDEntityDataFieldType, IDContact, value);
          EntityData entityData = new EntityData();
          entityData.save(IDEntityDataFieldType, IDContact, value);
  
          return entityData;
      }
  }
  </code></pre>
  
  <p>Neither method seems to work.</p>
  
  <p>I just noticed some user were able to access <a href="http://luiscarlosch.com/WebFormClean.aspx" rel="noreferrer">http://luiscarlosch.com/WebFormClean.aspx</a> because they change the values. So. some clients can read the methods but some cant. This should be happening.</p>
  
  <p>Web Config</p>
  
  <pre><code>&lt;?xml version="1.0"?&gt;
  
  &lt;configuration&gt;
    &lt;configSections&gt;
    &lt;/configSections&gt;
    &lt;connectionStrings&gt;
      &lt;add name="ApplicationServices"
           connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true"
           providerName="System.Data.SqlClient" /&gt;
    &lt;/connectionStrings&gt;
    &lt;system.web&gt;
      &lt;compilation debug="true" targetFramework="4.0" /&gt;
      &lt;customErrors mode="Off"/&gt;
      &lt;authentication mode="Forms"&gt;
        &lt;forms loginUrl="~/Account/Login.aspx" timeout="2880" /&gt;
      &lt;/authentication&gt;
      &lt;membership&gt;
        &lt;providers&gt;
          &lt;clear/&gt;
          &lt;add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices"
               enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false"
               maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
               applicationName="/" /&gt;
        &lt;/providers&gt;
      &lt;/membership&gt;
      &lt;profile&gt;
        &lt;providers&gt;
          &lt;clear/&gt;
          &lt;add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/"/&gt;
        &lt;/providers&gt;
      &lt;/profile&gt;
      &lt;roleManager enabled="false"&gt;
        &lt;providers&gt;
          &lt;clear/&gt;
          &lt;add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/" /&gt;
          &lt;add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" /&gt;
        &lt;/providers&gt;
      &lt;/roleManager&gt;
    &lt;/system.web&gt;
    &lt;system.webServer&gt;
       &lt;modules runAllManagedModulesForAllRequests="true"/&gt;
    &lt;/system.webServer&gt;
    &lt;system.serviceModel&gt;
      &lt;behaviors&gt;
        &lt;serviceBehaviors&gt;
          &lt;behavior name="MyServiceTypeBehaviors" &gt;
            &lt;serviceMetadata httpGetEnabled="true" /&gt;
          &lt;/behavior&gt;
        &lt;/serviceBehaviors&gt;
        &lt;endpointBehaviors&gt;
          &lt;behavior name="WebApplicationTest.WCFProxy.EmployeeProxyAspNetAjaxBehavior"&gt;
            &lt;enableWebScript /&gt;
          &lt;/behavior&gt;
          &lt;behavior name="WebApplicationTest.WCFProxy.EntityDataFieldCollectionProxyAspNetAjaxBehavior"&gt;
            &lt;enableWebScript /&gt;
          &lt;/behavior&gt;
          &lt;behavior name="WebApplicationTest.WCFProxy.Service1AspNetAjaxBehavior"&gt;
            &lt;enableWebScript /&gt;
          &lt;/behavior&gt;
          &lt;behavior name="WebApplicationTest.WCFProxy.ContactProxyAspNetAjaxBehavior"&gt;
            &lt;enableWebScript /&gt;
          &lt;/behavior&gt;
        &lt;/endpointBehaviors&gt;
      &lt;/behaviors&gt;
      &lt;serviceHostingEnvironment aspNetCompatibilityEnabled="true"
        multipleSiteBindingsEnabled="true" /&gt;
      &lt;services&gt;
        &lt;service name="WebApplicationTest.WCFProxy.EmployeeProxy"  behaviorConfiguration="MyServiceTypeBehaviors" &gt;
          &lt;endpoint address="" behaviorConfiguration="WebApplicationTest.WCFProxy.EmployeeProxyAspNetAjaxBehavior"
            binding="webHttpBinding" contract="WebApplicationTest.WCFProxy.EmployeeProxy" /&gt;
          &lt;endpoint contract="IMetadataExchange" binding="mexHttpBinding" address="mex" /&gt;
        &lt;/service&gt;
        &lt;service name="WebApplicationTest.WCFProxy.EntityDataFieldCollectionProxy"  behaviorConfiguration="MyServiceTypeBehaviors" &gt;
          &lt;endpoint address="" behaviorConfiguration="WebApplicationTest.WCFProxy.EntityDataFieldCollectionProxyAspNetAjaxBehavior"
            binding="webHttpBinding" contract="WebApplicationTest.WCFProxy.EntityDataFieldCollectionProxy" /&gt;
          &lt;endpoint contract="IMetadataExchange" binding="mexHttpBinding" address="mex" /&gt;
        &lt;/service&gt;
        &lt;service name="WebApplicationTest.WCFProxy.Service1"&gt;
          &lt;endpoint address="" behaviorConfiguration="WebApplicationTest.WCFProxy.Service1AspNetAjaxBehavior"
            binding="webHttpBinding" contract="WebApplicationTest.WCFProxy.Service1" /&gt;
        &lt;/service&gt;
        &lt;service name="WebApplicationTest.WCFProxy.ContactProxy" behaviorConfiguration="MyServiceTypeBehaviors" &gt;&lt;!--new--&gt;
          &lt;endpoint address="" behaviorConfiguration="WebApplicationTest.WCFProxy.ContactProxyAspNetAjaxBehavior"
            binding="webHttpBinding" contract="WebApplicationTest.WCFProxy.ContactProxy" /&gt;
          &lt;endpoint contract="IMetadataExchange" binding="mexHttpBinding" address="mex" /&gt;
        &lt;/service&gt;
      &lt;/services&gt;
      &lt;bindings /&gt;
      &lt;client /&gt;
    &lt;/system.serviceModel&gt;
  &lt;/configuration&gt;
  </code></pre>